Esempio n. 1
0
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
}
Esempio n. 2
0
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
}