mirror of
https://github.com/labstack/echo.git
synced 2025-11-06 08:59:21 +02:00
Object method to get real object
Signed-off-by: Vishal Rana <vr@labstack.com>
This commit is contained in:
@@ -15,16 +15,17 @@ type (
|
||||
}
|
||||
|
||||
Request interface {
|
||||
URI() string
|
||||
URL() URL
|
||||
Header() Header
|
||||
// Proto() string
|
||||
// ProtoMajor() int
|
||||
// ProtoMinor() int
|
||||
RemoteAddress() string
|
||||
Method() string
|
||||
URI() string
|
||||
URL() URL
|
||||
Body() io.ReadCloser
|
||||
FormValue(string) string
|
||||
Object() interface{}
|
||||
}
|
||||
|
||||
Response interface {
|
||||
@@ -36,6 +37,7 @@ type (
|
||||
Committed() bool
|
||||
SetWriter(io.Writer)
|
||||
Writer() io.Writer
|
||||
Object() interface{}
|
||||
}
|
||||
|
||||
Header interface {
|
||||
|
||||
@@ -9,30 +9,34 @@ import (
|
||||
|
||||
type (
|
||||
Request struct {
|
||||
context *fasthttp.RequestCtx
|
||||
request *fasthttp.RequestCtx
|
||||
url engine.URL
|
||||
header engine.Header
|
||||
}
|
||||
)
|
||||
|
||||
func (r *Request) Object() interface{} {
|
||||
return r.request
|
||||
}
|
||||
|
||||
func (r *Request) URI() string {
|
||||
return string(r.request.RequestURI())
|
||||
}
|
||||
|
||||
func (r *Request) URL() engine.URL {
|
||||
return r.url
|
||||
}
|
||||
|
||||
func (r *Request) Header() engine.Header {
|
||||
return r.header
|
||||
}
|
||||
|
||||
func (r *Request) RemoteAddress() string {
|
||||
return r.context.RemoteAddr().String()
|
||||
return r.request.RemoteAddr().String()
|
||||
}
|
||||
|
||||
func (r *Request) Method() string {
|
||||
return string(r.context.Method())
|
||||
}
|
||||
|
||||
func (r *Request) URI() string {
|
||||
return string(r.context.RequestURI())
|
||||
}
|
||||
|
||||
func (r *Request) URL() engine.URL {
|
||||
return r.url
|
||||
return string(r.request.Method())
|
||||
}
|
||||
|
||||
func (r *Request) Body() io.ReadCloser {
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
type (
|
||||
Response struct {
|
||||
context *fasthttp.RequestCtx
|
||||
response *fasthttp.RequestCtx
|
||||
header engine.Header
|
||||
status int
|
||||
size int64
|
||||
@@ -18,16 +18,20 @@ type (
|
||||
}
|
||||
)
|
||||
|
||||
func (r *Response) Object() interface{} {
|
||||
return r.response
|
||||
}
|
||||
|
||||
func (r *Response) Header() engine.Header {
|
||||
return r.header
|
||||
}
|
||||
|
||||
func (r *Response) WriteHeader(code int) {
|
||||
r.context.SetStatusCode(code)
|
||||
r.response.SetStatusCode(code)
|
||||
}
|
||||
|
||||
func (r *Response) Write(b []byte) (int, error) {
|
||||
return r.context.Write(b)
|
||||
return r.response.Write(b)
|
||||
}
|
||||
|
||||
func (r *Response) Status() int {
|
||||
|
||||
@@ -29,13 +29,13 @@ func NewServer(c *engine.Config, h engine.HandlerFunc, l logger.Logger) *Server
|
||||
func (s *Server) Start() {
|
||||
fasthttp.ListenAndServe(s.config.Address, func(ctx *fasthttp.RequestCtx) {
|
||||
req := &Request{
|
||||
context: ctx,
|
||||
request: ctx,
|
||||
url: &URL{ctx.URI()},
|
||||
header: &RequestHeader{ctx.Request.Header},
|
||||
}
|
||||
res := &Response{
|
||||
context: ctx,
|
||||
header: &ResponseHeader{ctx.Response.Header},
|
||||
response: ctx,
|
||||
header: &ResponseHeader{ctx.Response.Header},
|
||||
}
|
||||
s.handler(req, res)
|
||||
})
|
||||
|
||||
@@ -23,18 +23,18 @@ func NewRequest(r *http.Request) *Request {
|
||||
}
|
||||
}
|
||||
|
||||
func (r *Request) Request() *http.Request {
|
||||
func (r *Request) Object() interface{} {
|
||||
return r.request
|
||||
}
|
||||
|
||||
func (r *Request) Header() engine.Header {
|
||||
return r.header
|
||||
}
|
||||
|
||||
func (r *Request) URL() engine.URL {
|
||||
return r.url
|
||||
}
|
||||
|
||||
func (r *Request) Header() engine.Header {
|
||||
return r.header
|
||||
}
|
||||
|
||||
func (r *Request) RemoteAddress() string {
|
||||
return r.request.RemoteAddr
|
||||
}
|
||||
|
||||
@@ -29,6 +29,10 @@ func NewResponse(w http.ResponseWriter, l logger.Logger) *Response {
|
||||
}
|
||||
}
|
||||
|
||||
func (r *Response) Object() interface{} {
|
||||
return r.response
|
||||
}
|
||||
|
||||
func (r *Response) Header() engine.Header {
|
||||
return r.header
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user