1
0
mirror of https://github.com/labstack/echo.git synced 2024-12-24 20:14:31 +02:00
Signed-off-by: Vishal Rana <vr@labstack.com>
This commit is contained in:
Vishal Rana 2015-07-27 08:43:11 -07:00
parent 1ae7ef40e0
commit d077efe91a
4 changed files with 20 additions and 29 deletions

View File

@ -109,7 +109,7 @@ func (c *Context) Bind(i interface{}) error {
// Render renders a template with data and sends a text/html response with status
// code. Templates can be registered using `Echo.SetRenderer()`.
func (c *Context) Render(code int, name string, data interface{}) (err error) {
func (c *Context) Render(code int, name string, data interface{}) error {
if c.echo.renderer == nil {
return RendererNotRegistered
}
@ -123,7 +123,7 @@ func (c *Context) Render(code int, name string, data interface{}) (err error) {
func (c *Context) HTML(code int, format string, a ...interface{}) (err error) {
c.response.Header().Set(ContentType, TextHTMLCharsetUTF8)
c.response.WriteHeader(code)
_, err = fmt.Fprintf(c.response, format, a...)
_, err = fmt.Fprintf(c.response, format, a...)
return
}
@ -137,7 +137,7 @@ func (c *Context) String(code int, format string, a ...interface{}) (err error)
}
// JSON sends a JSON response with status code.
func (c *Context) JSON(code int, i interface{}) (err error) {
func (c *Context) JSON(code int, i interface{}) error {
c.response.Header().Set(ContentType, ApplicationJSONCharsetUTF8)
c.response.WriteHeader(code)
return json.NewEncoder(c.response).Encode(i)
@ -156,7 +156,7 @@ func (c *Context) JSONP(code int, callback string, i interface{}) (err error) {
}
// XML sends an XML response with status code.
func (c *Context) XML(code int, i interface{}) (err error) {
func (c *Context) XML(code int, i interface{}) error {
c.response.Header().Set(ContentType, ApplicationXMLCharsetUTF8)
c.response.WriteHeader(code)
c.response.Write([]byte(xml.Header))

19
echo.go
View File

@ -137,18 +137,6 @@ const (
)
var (
methods = [...]string{
CONNECT,
DELETE,
GET,
HEAD,
OPTIONS,
PATCH,
POST,
PUT,
TRACE,
}
//--------
// Errors
//--------
@ -156,6 +144,7 @@ var (
UnsupportedMediaType = errors.New("echo ⇒ unsupported media type")
RendererNotRegistered = errors.New("echo ⇒ renderer not registered")
InvalidRedirectCode = errors.New("echo ⇒ invalid redirect status code")
//----------------
// Error handlers
//----------------
@ -222,7 +211,11 @@ func (e *Echo) Router() *Router {
// ColoredLog enable/disable colored log.
func (e *Echo) ColoredLog(on bool) {
color.Disable()
if on {
color.Enable()
} else {
color.Disable()
}
}
// HTTP2 enable/disable HTTP2 support.

View File

@ -39,10 +39,8 @@ const (
mtype
)
func NewRouter(e *Echo) (r *Router) {
r = &Router{
routes: []Route{},
echo: e,
func NewRouter(e *Echo) *Router {
return &Router{
connectTree: new(node),
deleteTree: new(node),
getTree: new(node),
@ -52,8 +50,9 @@ func NewRouter(e *Echo) (r *Router) {
postTree: new(node),
putTree: new(node),
traceTree: new(node),
routes: []Route{},
echo: e,
}
return
}
func (r *Router) Add(method, path string, h HandlerFunc, e *Echo) {
@ -307,10 +306,12 @@ func (r *Router) Find(method, path string, ctx *Context) (h HandlerFunc, e *Echo
// Search order static > param > match-any
for {
if search == "" {
// Found
ctx.pnames = cn.pnames
h = cn.handler
e = cn.echo
if cn.handler != nil {
// Found
ctx.pnames = cn.pnames
h = cn.handler
e = cn.echo
}
return
}

View File

@ -316,9 +316,6 @@ func TestRouterTwoParam(t *testing.T) {
assert.Equal(t, "1", c.P(0))
assert.Equal(t, "1", c.P(1))
}
h, _ = r.Find(GET, "/users/1", c)
assert.Nil(t, h)
}
func TestRouterMatchAny(t *testing.T) {