Skip to content

Commit 54e7dfa

Browse files
committed
update
1 parent 13731e4 commit 54e7dfa

5 files changed

Lines changed: 14 additions & 14 deletions

File tree

context_x_response.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func (c *XContext) Response() engine.Response {
2525
// code. Templates can be registered using `Echo.SetRenderer()`.
2626
func (c *XContext) Render(name string, data interface{}, codes ...int) error {
2727
if c.auto {
28-
if ok, err := c.echo.AutoDetectRenderFormat(c, data); ok {
28+
if ok, err := c.echo.AutoDetectRenderFormat(c, data, codes...); ok {
2929
return err
3030
}
3131
}

echo.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ func (e *Echo) SetFormatRenderers(formatRenderers map[string]FormatRender) *Echo
287287
return e
288288
}
289289

290-
func (e *Echo) AddFormatRenderer(format string, renderer func(c Context, data interface{}) error) *Echo {
290+
func (e *Echo) AddFormatRenderer(format string, renderer FormatRender) *Echo {
291291
e.formatRenderers[format] = renderer
292292
return e
293293
}
@@ -299,7 +299,7 @@ func (e *Echo) RemoveFormatRenderer(formats ...string) *Echo {
299299
return e
300300
}
301301

302-
func (e *Echo) AutoDetectRenderFormat(c Context, data interface{}) (bool, error) {
302+
func (e *Echo) AutoDetectRenderFormat(c Context, data interface{}, code ...int) (bool, error) {
303303
format := c.Format()
304304
render, ok := e.formatRenderers[format]
305305
if !ok || render == nil {
@@ -316,7 +316,7 @@ func (e *Echo) AutoDetectRenderFormat(c Context, data interface{}) (bool, error)
316316
default:
317317
c.Data().SetData(data, c.Data().GetCode().Int())
318318
}
319-
return true, render(c, data)
319+
return true, render(c, data, code...)
320320
}
321321

322322
func (e *Echo) SetDefaultExtension(ext string) {

middleware/render/middleware.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ func HTTPErrorHandler(opt *Options) echo.HTTPErrorHandler {
118118
}
119119
tmplNum := len(opt.ErrorPages)
120120
defaultRender := func(c echo.Context, msg string, code int) {
121-
if ok, err := c.Echo().AutoDetectRenderFormat(c, nil); ok {
121+
if ok, err := c.Echo().AutoDetectRenderFormat(c, nil, code); ok {
122122
if err == nil {
123123
return
124124
}

render_data.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"github.com/webx-top/echo/param"
1515
)
1616

17-
type FormatRender func(ctx Context, data interface{}) error
17+
type FormatRender func(ctx Context, data interface{}, code ...int) error
1818
type DataWrapper func(Context, interface{}) interface{}
1919

2020
func DefaultRenderDataWrapper(ctx Context, data interface{}) interface{} {

variable_default.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,17 @@ var (
5454
`*`: ContentTypeHTML,
5555
}
5656
DefaultFormatRenderers = map[string]FormatRender{
57-
ContentTypeJSON: func(c Context, data interface{}) error {
58-
return c.JSON(c.Data())
57+
ContentTypeJSON: func(c Context, data interface{}, code ...int) error {
58+
return c.JSON(c.Data(), code...)
5959
},
60-
ContentTypeJSONP: func(c Context, data interface{}) error {
61-
return c.JSONP(c.Query(c.Echo().JSONPVarName), c.Data())
60+
ContentTypeJSONP: func(c Context, data interface{}, code ...int) error {
61+
return c.JSONP(c.Query(c.Echo().JSONPVarName), c.Data(), code...)
6262
},
63-
ContentTypeXML: func(c Context, data interface{}) error {
64-
return c.XML(c.Data())
63+
ContentTypeXML: func(c Context, data interface{}, code ...int) error {
64+
return c.XML(c.Data(), code...)
6565
},
66-
ContentTypeText: func(c Context, data interface{}) error {
67-
return c.String(fmt.Sprint(data))
66+
ContentTypeText: func(c Context, data interface{}, code ...int) error {
67+
return c.String(fmt.Sprint(data), code...)
6868
},
6969
}
7070
DefaultBinderDecoders = map[string]func(interface{}, Context, BinderValueCustomDecoders, ...FormDataFilter) error{

0 commit comments

Comments
 (0)