mirror of
https://github.com/labstack/echo.git
synced 2025-04-23 12:18:53 +02:00
Removed Context#Socket
Signed-off-by: Vishal Rana <vr@labstack.com>
This commit is contained in:
parent
b6deec4897
commit
f4a5abc8b2
@ -18,7 +18,6 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
|
|
||||||
netContext "golang.org/x/net/context"
|
netContext "golang.org/x/net/context"
|
||||||
"golang.org/x/net/websocket"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
@ -28,7 +27,6 @@ type (
|
|||||||
netContext.Context
|
netContext.Context
|
||||||
Request() engine.Request
|
Request() engine.Request
|
||||||
Response() engine.Response
|
Response() engine.Response
|
||||||
Socket() *websocket.Conn
|
|
||||||
Path() string
|
Path() string
|
||||||
P(int) string
|
P(int) string
|
||||||
Param(string) string
|
Param(string) string
|
||||||
@ -59,7 +57,6 @@ type (
|
|||||||
context struct {
|
context struct {
|
||||||
request engine.Request
|
request engine.Request
|
||||||
response engine.Response
|
response engine.Response
|
||||||
socket *websocket.Conn
|
|
||||||
path string
|
path string
|
||||||
pnames []string
|
pnames []string
|
||||||
pvalues []string
|
pvalues []string
|
||||||
@ -118,11 +115,6 @@ func (c *context) Response() engine.Response {
|
|||||||
return c.response
|
return c.response
|
||||||
}
|
}
|
||||||
|
|
||||||
// Socket returns *websocket.Conn.
|
|
||||||
func (c *context) Socket() *websocket.Conn {
|
|
||||||
return c.socket
|
|
||||||
}
|
|
||||||
|
|
||||||
// Path returns the registered path for the handler.
|
// Path returns the registered path for the handler.
|
||||||
func (c *context) Path() string {
|
func (c *context) Path() string {
|
||||||
return c.path
|
return c.path
|
||||||
|
@ -43,9 +43,6 @@ func TestContext(t *testing.T) {
|
|||||||
// Response
|
// Response
|
||||||
assert.NotNil(t, c.Response())
|
assert.NotNil(t, c.Response())
|
||||||
|
|
||||||
// Socket
|
|
||||||
assert.Nil(t, c.Socket())
|
|
||||||
|
|
||||||
// ParamNames
|
// ParamNames
|
||||||
c.Object().pnames = []string{"uid", "fid"}
|
c.Object().pnames = []string{"uid", "fid"}
|
||||||
assert.EqualValues(t, []string{"uid", "fid"}, c.ParamNames())
|
assert.EqualValues(t, []string{"uid", "fid"}, c.ParamNames())
|
||||||
|
2
echo.go
2
echo.go
@ -426,7 +426,7 @@ func (e *Echo) ServeHTTP(req engine.Request, res engine.Response) {
|
|||||||
|
|
||||||
// Run starts the HTTP engine.
|
// Run starts the HTTP engine.
|
||||||
func (e *Echo) Run(eng engine.Engine) {
|
func (e *Echo) Run(eng engine.Engine) {
|
||||||
eng.SetHandler(e.ServeHTTP)
|
eng.SetHandler(e)
|
||||||
eng.SetLogger(e.logger)
|
eng.SetLogger(e.logger)
|
||||||
eng.Start()
|
eng.Start()
|
||||||
}
|
}
|
||||||
|
@ -8,10 +8,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
HandlerFunc func(Request, Response)
|
|
||||||
|
|
||||||
Engine interface {
|
Engine interface {
|
||||||
SetHandler(HandlerFunc)
|
SetHandler(Handler)
|
||||||
SetLogger(*log.Logger)
|
SetLogger(*log.Logger)
|
||||||
Start()
|
Start()
|
||||||
}
|
}
|
||||||
@ -67,4 +65,14 @@ type (
|
|||||||
ReadTimeout time.Duration
|
ReadTimeout time.Duration
|
||||||
WriteTimeout time.Duration
|
WriteTimeout time.Duration
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Handler interface {
|
||||||
|
ServeHTTP(Request, Response)
|
||||||
|
}
|
||||||
|
|
||||||
|
HandlerFunc func(Request, Response)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func (h HandlerFunc) ServeHTTP(req Request, res Response) {
|
||||||
|
h.ServeHTTP(req, res)
|
||||||
|
}
|
||||||
|
@ -14,7 +14,7 @@ import (
|
|||||||
type (
|
type (
|
||||||
Server struct {
|
Server struct {
|
||||||
config *engine.Config
|
config *engine.Config
|
||||||
handler engine.HandlerFunc
|
handler engine.Handler
|
||||||
pool *Pool
|
pool *Pool
|
||||||
logger *log.Logger
|
logger *log.Logger
|
||||||
}
|
}
|
||||||
@ -72,15 +72,15 @@ func NewConfig(c *engine.Config) (s *Server) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
handler: func(req engine.Request, res engine.Response) {
|
handler: engine.HandlerFunc(func(req engine.Request, res engine.Response) {
|
||||||
s.logger.Fatal("handler not set")
|
s.logger.Fatal("handler not set")
|
||||||
},
|
}),
|
||||||
logger: log.New("echo"),
|
logger: log.New("echo"),
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) SetHandler(h engine.HandlerFunc) {
|
func (s *Server) SetHandler(h engine.Handler) {
|
||||||
s.handler = h
|
s.handler = h
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ func (s *Server) Start() {
|
|||||||
resHdr.reset(c.Response.Header)
|
resHdr.reset(c.Response.Header)
|
||||||
res.reset(c, resHdr)
|
res.reset(c, resHdr)
|
||||||
|
|
||||||
s.handler(req, res)
|
s.handler.ServeHTTP(req, res)
|
||||||
|
|
||||||
s.pool.request.Put(req)
|
s.pool.request.Put(req)
|
||||||
s.pool.requestHeader.Put(reqHdr)
|
s.pool.requestHeader.Put(reqHdr)
|
||||||
|
@ -13,7 +13,7 @@ type (
|
|||||||
Server struct {
|
Server struct {
|
||||||
*http.Server
|
*http.Server
|
||||||
config *engine.Config
|
config *engine.Config
|
||||||
handler engine.HandlerFunc
|
handler engine.Handler
|
||||||
pool *Pool
|
pool *Pool
|
||||||
logger *log.Logger
|
logger *log.Logger
|
||||||
}
|
}
|
||||||
@ -66,15 +66,15 @@ func NewConfig(c *engine.Config) (s *Server) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
handler: func(req engine.Request, res engine.Response) {
|
handler: engine.HandlerFunc(func(req engine.Request, res engine.Response) {
|
||||||
s.logger.Fatal("handler not set")
|
s.logger.Fatal("handler not set")
|
||||||
},
|
}),
|
||||||
logger: log.New("echo"),
|
logger: log.New("echo"),
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) SetHandler(h engine.HandlerFunc) {
|
func (s *Server) SetHandler(h engine.Handler) {
|
||||||
s.handler = h
|
s.handler = h
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
resHdr.reset(w.Header())
|
resHdr.reset(w.Header())
|
||||||
res.reset(w, resHdr)
|
res.reset(w, resHdr)
|
||||||
|
|
||||||
s.handler(req, res)
|
s.handler.ServeHTTP(req, res)
|
||||||
|
|
||||||
s.pool.request.Put(req)
|
s.pool.request.Put(req)
|
||||||
s.pool.header.Put(reqHdr)
|
s.pool.header.Put(reqHdr)
|
||||||
|
@ -12,7 +12,7 @@ type (
|
|||||||
Server struct {
|
Server struct {
|
||||||
*http.Server
|
*http.Server
|
||||||
config *engine.Config
|
config *engine.Config
|
||||||
handler engine.HandlerFunc
|
handler engine.Handler
|
||||||
pool *Pool
|
pool *Pool
|
||||||
logger *log.Logger
|
logger *log.Logger
|
||||||
}
|
}
|
||||||
@ -65,15 +65,15 @@ func NewConfig(c *engine.Config) (s *Server) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
handler: func(req engine.Request, res engine.Response) {
|
handler: engine.HandlerFunc(func(req engine.Request, res engine.Response) {
|
||||||
s.logger.Fatal("handler not set")
|
s.logger.Fatal("handler not set")
|
||||||
},
|
}),
|
||||||
logger: log.New("echo"),
|
logger: log.New("echo"),
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Server) SetHandler(h engine.HandlerFunc) {
|
func (s *Server) SetHandler(h engine.Handler) {
|
||||||
s.handler = h
|
s.handler = h
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
resHdr.reset(w.Header())
|
resHdr.reset(w.Header())
|
||||||
res.reset(w, resHdr)
|
res.reset(w, resHdr)
|
||||||
|
|
||||||
s.handler(req, res)
|
s.handler.ServeHTTP(req, res)
|
||||||
|
|
||||||
s.pool.request.Put(req)
|
s.pool.request.Put(req)
|
||||||
s.pool.header.Put(reqHdr)
|
s.pool.header.Put(reqHdr)
|
||||||
|
@ -8,11 +8,11 @@ menu:
|
|||||||
|
|
||||||
### Migrating from v1
|
### Migrating from v1
|
||||||
|
|
||||||
#### What got changed?
|
#### Change log
|
||||||
|
|
||||||
- Echo now uses `Engine` interface to abstract `HTTP` server implementation, allowing
|
- Echo now uses `Engine` interface to abstract `HTTP` server implementation, allowing
|
||||||
us to use HTTP servers beyond Go standard library, supports standard HTTP server and [FastHTTP](https://github.com/valyala/fasthttp).
|
us to use HTTP servers beyond the standard library. It currently supports standard HTTP server and [FastHTTP](https://github.com/valyala/fasthttp).
|
||||||
- Context, Request and Response as an interface, enabling adding your own functions and easy testing. [More...](https://github.com/labstack/echo/issues/146)
|
- Context, Request and Response are converted to interfaces. [More...](https://github.com/labstack/echo/issues/146)
|
||||||
- Moved API's for serving static files into middleware.
|
- Moved API's for serving static files into middleware.
|
||||||
- `Echo#Index`
|
- `Echo#Index`
|
||||||
- `Echo#Favicon`
|
- `Echo#Favicon`
|
||||||
@ -29,35 +29,3 @@ it can be achieved via middleware.
|
|||||||
- Ability to define middleware at route level.
|
- Ability to define middleware at route level.
|
||||||
|
|
||||||
#### How?
|
#### How?
|
||||||
|
|
||||||
##### v1 Handler
|
|
||||||
|
|
||||||
```go
|
|
||||||
func welcome(c *echo.Context) error {
|
|
||||||
return c.String(http.StatusOK, "Welcome!\n")
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
##### v2 Handler
|
|
||||||
|
|
||||||
```go
|
|
||||||
func welcome(echo.HandlerFunc(c echo.Context) error {
|
|
||||||
return c.String(http.StatusOK, "Welcome!\n")
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
##### v1 Middleware
|
|
||||||
|
|
||||||
```go
|
|
||||||
func welcome(c *echo.Context) error {
|
|
||||||
return c.String(http.StatusOK, "Welcome!\n")
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
v2
|
|
||||||
|
|
||||||
```go
|
|
||||||
func welcome(echo.HandlerFunc(c echo.Context) error {
|
|
||||||
return c.String(http.StatusOK, "Welcome!\n")
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user