Performance improvements when rendering

- Fast path for JSON, XML and plain text rendering
This commit is contained in:
Manu Mtz-Almeida
2015-05-07 12:44:52 +02:00
parent eb3e9293ed
commit 2d8f0a4801
10 changed files with 299 additions and 163 deletions
+22
View File
@@ -0,0 +1,22 @@
package render
import (
"fmt"
"net/http"
)
type redirectRender struct{}
func (_ redirectRender) Render(w http.ResponseWriter, code int, data ...interface{}) error {
req := data[0].(*http.Request)
location := data[1].(string)
WriteRedirect(w, code, req, location)
return nil
}
func WriteRedirect(w http.ResponseWriter, code int, req *http.Request, location string) {
if code < 300 || code > 308 {
panic(fmt.Sprintf("Cannot redirect with status code %d", code))
}
http.Redirect(w, req, location, code)
}