Merge branch 'redirect' of https://github.com/alexandernyquist/gin into develop

This commit is contained in:
Manu Mtz-Almeida
2014-08-18 17:19:32 +02:00
3 changed files with 33 additions and 4 deletions

View File

@ -22,6 +22,9 @@ type (
// Plain text
plainRender struct{}
// Redirects
redirectRender struct{}
// form binding
HTMLRender struct {
Template *template.Template
@ -29,9 +32,10 @@ type (
)
var (
JSON = jsonRender{}
XML = xmlRender{}
Plain = plainRender{}
JSON = jsonRender{}
XML = xmlRender{}
Plain = plainRender{}
Redirect = redirectRender{}
)
func writeHeader(w http.ResponseWriter, code int, contentType string) {
@ -45,6 +49,12 @@ func (_ jsonRender) Render(w http.ResponseWriter, code int, data ...interface{})
return encoder.Encode(data[0])
}
func (_ redirectRender) Render(w http.ResponseWriter, code int, data ...interface{}) error {
w.Header().Set("Location", data[0].(string))
w.WriteHeader(code)
return nil
}
func (_ xmlRender) Render(w http.ResponseWriter, code int, data ...interface{}) error {
writeHeader(w, code, "application/xml")
encoder := xml.NewEncoder(w)