func (th *TestHandler) Get(ctx web.Context) (bool, error) { data := TestRequestData{ctx.Domain(), ctx.Resource(), ctx.ResourceID()} switch { case ctx.AcceptsContentType(web.ContentTypeXML): logger.Infof("get XML") ctx.WriteXML(data) case ctx.AcceptsContentType(web.ContentTypeJSON): logger.Infof("get JSON") ctx.WriteJSON(data, true) default: logger.Infof("get HTML") ctx.RenderTemplate("test:context:html", data) } return true, nil }
func (th *TestHandler) Put(ctx web.Context) (bool, error) { var data TestRequestData switch { case ctx.HasContentType(web.ContentTypeJSON): err := ctx.ReadJSON(&data) if err != nil { ctx.WriteJSON(TestErrorData{err.Error()}, true) } else { ctx.WriteJSON(data, true) } case ctx.HasContentType(web.ContentTypeXML): err := ctx.ReadXML(&data) if err != nil { ctx.WriteXML(TestErrorData{err.Error()}) } else { ctx.WriteXML(data) } } return true, nil }