mirror of
				https://github.com/labstack/echo.git
				synced 2025-10-30 23:57:38 +02:00 
			
		
		
		
	| @@ -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
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								echo.go
									
									
									
									
									
								
							| @@ -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. | ||||
|   | ||||
							
								
								
									
										19
									
								
								router.go
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								router.go
									
									
									
									
									
								
							| @@ -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 | ||||
| 		} | ||||
|  | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user