Using Render() instead of Write()

This commit is contained in:
Manu Mtz-Almeida 2015-06-04 05:25:21 +02:00
parent 92475baba6
commit 1f56e50083
9 changed files with 15 additions and 15 deletions

View File

@ -284,7 +284,7 @@ func (c *Context) Header(key, value string) {
func (c *Context) Render(code int, r render.Render) { func (c *Context) Render(code int, r render.Render) {
c.writermem.WriteHeader(code) c.writermem.WriteHeader(code)
if err := r.Write(c.Writer); err != nil { if err := r.Render(c.Writer); err != nil {
debugPrintError(err) debugPrintError(err)
c.AbortWithError(500, err).SetType(ErrorTypeRender) c.AbortWithError(500, err).SetType(ErrorTypeRender)
} }

View File

@ -11,7 +11,7 @@ type Data struct {
Data []byte Data []byte
} }
func (r Data) Write(w http.ResponseWriter) error { func (r Data) Render(w http.ResponseWriter) error {
if len(r.ContentType) > 0 { if len(r.ContentType) > 0 {
w.Header()["Content-Type"] = []string{r.ContentType} w.Header()["Content-Type"] = []string{r.ContentType}
} }

View File

@ -57,7 +57,7 @@ func (r HTMLDebug) loadTemplate() *template.Template {
panic("the HTML debug render was created without files or glob pattern") panic("the HTML debug render was created without files or glob pattern")
} }
func (r HTML) Write(w http.ResponseWriter) error { func (r HTML) Render(w http.ResponseWriter) error {
w.Header()["Content-Type"] = htmlContentType w.Header()["Content-Type"] = htmlContentType
if len(r.Name) == 0 { if len(r.Name) == 0 {
return r.Template.Execute(w, r.Data) return r.Template.Execute(w, r.Data)

View File

@ -21,12 +21,12 @@ type (
var jsonContentType = []string{"application/json; charset=utf-8"} var jsonContentType = []string{"application/json; charset=utf-8"}
func (r JSON) Write(w http.ResponseWriter) error { func (r JSON) Render(w http.ResponseWriter) error {
w.Header()["Content-Type"] = jsonContentType w.Header()["Content-Type"] = jsonContentType
return json.NewEncoder(w).Encode(r.Data) return json.NewEncoder(w).Encode(r.Data)
} }
func (r IndentedJSON) Write(w http.ResponseWriter) error { func (r IndentedJSON) Render(w http.ResponseWriter) error {
w.Header()["Content-Type"] = jsonContentType w.Header()["Content-Type"] = jsonContentType
jsonBytes, err := json.MarshalIndent(r.Data, "", " ") jsonBytes, err := json.MarshalIndent(r.Data, "", " ")
if err != nil { if err != nil {

View File

@ -15,7 +15,7 @@ type Redirect struct {
Location string Location string
} }
func (r Redirect) Write(w http.ResponseWriter) error { func (r Redirect) Render(w http.ResponseWriter) error {
if r.Code < 300 || r.Code > 308 { if r.Code < 300 || r.Code > 308 {
panic(fmt.Sprintf("Cannot redirect with status code %d", r.Code)) panic(fmt.Sprintf("Cannot redirect with status code %d", r.Code))
} }

View File

@ -7,7 +7,7 @@ package render
import "net/http" import "net/http"
type Render interface { type Render interface {
Write(http.ResponseWriter) error Render(http.ResponseWriter) error
} }
var ( var (

View File

@ -22,7 +22,7 @@ func TestRenderJSON(t *testing.T) {
"foo": "bar", "foo": "bar",
} }
err := (JSON{data}).Write(w) err := (JSON{data}).Render(w)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, w.Body.String(), "{\"foo\":\"bar\"}\n") assert.Equal(t, w.Body.String(), "{\"foo\":\"bar\"}\n")
@ -36,7 +36,7 @@ func TestRenderIndentedJSON(t *testing.T) {
"bar": "foo", "bar": "foo",
} }
err := (IndentedJSON{data}).Write(w) err := (IndentedJSON{data}).Render(w)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, w.Body.String(), "{\n \"bar\": \"foo\",\n \"foo\": \"bar\"\n}") assert.Equal(t, w.Body.String(), "{\n \"bar\": \"foo\",\n \"foo\": \"bar\"\n}")
@ -75,7 +75,7 @@ func TestRenderXML(t *testing.T) {
"foo": "bar", "foo": "bar",
} }
err := (XML{data}).Write(w) err := (XML{data}).Render(w)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, w.Body.String(), "<map><foo>bar</foo></map>") assert.Equal(t, w.Body.String(), "<map><foo>bar</foo></map>")
@ -93,7 +93,7 @@ func TestRenderData(t *testing.T) {
err := (Data{ err := (Data{
ContentType: "image/png", ContentType: "image/png",
Data: data, Data: data,
}).Write(w) }).Render(w)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, w.Body.String(), "#!PNG some raw data") assert.Equal(t, w.Body.String(), "#!PNG some raw data")
@ -106,7 +106,7 @@ func TestRenderString(t *testing.T) {
err := (String{ err := (String{
Format: "hola %s %d", Format: "hola %s %d",
Data: []interface{}{"manu", 2}, Data: []interface{}{"manu", 2},
}).Write(w) }).Render(w)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, w.Body.String(), "hola manu 2") assert.Equal(t, w.Body.String(), "hola manu 2")
@ -122,7 +122,7 @@ func TestRenderHTMLTemplate(t *testing.T) {
"name": "alexandernyquist", "name": "alexandernyquist",
}) })
err := instance.Write(w) err := instance.Render(w)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, w.Body.String(), "Hello alexandernyquist") assert.Equal(t, w.Body.String(), "Hello alexandernyquist")

View File

@ -17,7 +17,7 @@ type String struct {
var plainContentType = []string{"text/plain; charset=utf-8"} var plainContentType = []string{"text/plain; charset=utf-8"}
func (r String) Write(w http.ResponseWriter) error { func (r String) Render(w http.ResponseWriter) error {
header := w.Header() header := w.Header()
if _, exist := header["Content-Type"]; !exist { if _, exist := header["Content-Type"]; !exist {
header["Content-Type"] = plainContentType header["Content-Type"] = plainContentType

View File

@ -15,7 +15,7 @@ type XML struct {
var xmlContentType = []string{"application/xml; charset=utf-8"} var xmlContentType = []string{"application/xml; charset=utf-8"}
func (r XML) Write(w http.ResponseWriter) error { func (r XML) Render(w http.ResponseWriter) error {
w.Header()["Content-Type"] = xmlContentType w.Header()["Content-Type"] = xmlContentType
return xml.NewEncoder(w).Encode(r.Data) return xml.NewEncoder(w).Encode(r.Data)
} }