From 2ed15f491b3d49237e365981de914c8be20f20ea Mon Sep 17 00:00:00 2001 From: Vishal Rana Date: Wed, 21 Sep 2016 14:08:18 -0700 Subject: [PATCH] Added `engine.Request#SetHost` function Signed-off-by: Vishal Rana --- engine/engine.go | 3 +++ engine/fasthttp/request.go | 5 +++++ engine/standard/request.go | 5 +++++ engine/test/test_request.go | 5 ++--- test/request.go | 4 ++++ 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/engine/engine.go b/engine/engine.go index 5d7daaef..0a8f2408 100644 --- a/engine/engine.go +++ b/engine/engine.go @@ -38,6 +38,9 @@ type ( // the `Host` header or the host name given in the URL itself. Host() string + // SetHost sets the host of the request. + SetHost(string) + // URI returns the unmodified `Request-URI` sent by the client. URI() string diff --git a/engine/fasthttp/request.go b/engine/fasthttp/request.go index fe57f9d9..a14ac962 100644 --- a/engine/fasthttp/request.go +++ b/engine/fasthttp/request.go @@ -49,6 +49,11 @@ func (r *Request) Host() string { return string(r.RequestCtx.Host()) } +// SetHost implements `engine.Request#SetHost` function. +func (r *Request) SetHost(host string) { + r.RequestCtx.Request.SetHost(host) +} + // URL implements `engine.Request#URL` function. func (r *Request) URL() engine.URL { return r.url diff --git a/engine/standard/request.go b/engine/standard/request.go index a42006a6..3448d3c4 100644 --- a/engine/standard/request.go +++ b/engine/standard/request.go @@ -58,6 +58,11 @@ func (r *Request) Host() string { return r.Request.Host } +// SetHost implements `engine.Request#SetHost` function. +func (r *Request) SetHost(host string) { + r.Request.Host = host +} + // URL implements `engine.Request#URL` function. func (r *Request) URL() engine.URL { return r.url diff --git a/engine/test/test_request.go b/engine/test/test_request.go index 7427c824..3edebac6 100644 --- a/engine/test/test_request.go +++ b/engine/test/test_request.go @@ -41,10 +41,10 @@ Hello world! func RequestTest(t *testing.T, request engine.Request) { assert.Equal(t, "github.com", request.Host()) - + request.SetHost("labstack.com") + assert.Equal(t, "labstack.com", request.Host()) request.SetURI("/labstack/echo?token=54321") assert.Equal(t, "/labstack/echo?token=54321", request.URI()) - assert.Equal(t, "/labstack/echo", request.URL().Path()) assert.Equal(t, "https://github.com/", request.Referer()) assert.Equal(t, "192.168.1.1", request.Header().Get("X-Real-IP")) @@ -53,7 +53,6 @@ func RequestTest(t *testing.T, request engine.Request) { assert.Equal(t, "127.0.0.1", request.RemoteAddress()) assert.Equal(t, "192.168.1.1", request.RealIP()) assert.Equal(t, "POST", request.Method()) - assert.Equal(t, int64(261), request.ContentLength()) assert.Equal(t, "bar", request.FormValue("foo")) diff --git a/test/request.go b/test/request.go index d3f867fd..dd5571cc 100644 --- a/test/request.go +++ b/test/request.go @@ -48,6 +48,10 @@ func (r *Request) Host() string { return r.request.Host } +func (r *Request) SetHost(host string) { + r.request.Host = host +} + func (r *Request) URL() engine.URL { return r.url }