1
0
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:
Vishal Rana
2016-02-08 16:48:03 -08:00
parent 3f48b92c5d
commit 0731959a98
10 changed files with 55 additions and 41 deletions

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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)
})

View File

@@ -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
}

View File

@@ -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
}