simonedbarber / responder

Responder: Respond differently according to request's accepted mime type

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Responder

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

GoDoc Build Status

Usage

Register mime type

import "github.com/simonedbarber/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.

About

Responder: Respond differently according to request's accepted mime type

License:MIT License


Languages

Language:Go 100.0%