Responder: Respond differently according to request's accepted mime type
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE.txt
README.md
responder.go
responder_test.go

README.md

Responder

Responder provides a means to respond differently according to a request's accepted mime type.

GoDoc

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:

  1. The mime type, like text/html
  2. 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.

License

Released under the MIT License.