Responder
Responder provides a means to respond differently according to a request's accepted mime type.
Usage
Register mime type
import "github.com/qor/responder"
responder.Register("text/html", "html")
responder.Register("application/json", "json")
responder.Register("application/xml", "xml")
Responder has the above 3 mime types registered by default. You can register more types with the Register
function, which accepts 2 parameters:
- The mime type, like
text/html
- The format of the mime type, like
html
Respond to registered mime types
func handler(writer http.ResponseWriter, request *http.Request) {
responder.With("html", func() {
writer.Write([]byte("this is a html request"))
}).With([]string{"json", "xml"}, func() {
writer.Write([]byte("this is a json or xml request"))
}).Respond(request)
})
The first html
in the example will be the default response type if Responder cannot find a corresponding mime type.