From 77955c8540d67f039a2be75d44ebff0edea838b1 Mon Sep 17 00:00:00 2001 From: Gerasimos Maropoulos Date: Wed, 27 Jul 2016 17:09:19 +0300 Subject: [PATCH] Fix https://github.com/kataras/iris/issues/321 --- http.go | 24 +++++++++--------------- http_test.go | 13 +++++++------ 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/http.go b/http.go index f99ce9a2..e7d24fca 100644 --- a/http.go +++ b/http.go @@ -258,20 +258,9 @@ func newServer(cfg config.Server) *Server { cfg.Name = config.DefaultServerName } s := &Server{Server: &fasthttp.Server{Name: cfg.Name}, Config: cfg} - s.prepare() return s } -// prepare just prepares the listening addr -func (s *Server) prepare() { - s.Config.ListeningAddr = config.ServerParseAddr(s.Config.ListeningAddr) - if s.Server != nil { - s.Server.MaxRequestBodySize = s.Config.MaxRequestBodySize - s.Server.ReadBufferSize = s.Config.ReadBufferSize - s.Server.WriteBufferSize = s.Config.WriteBufferSize - } -} - // IsListening returns true if server is listening/started, otherwise false func (s *Server) IsListening() bool { if s == nil { @@ -423,7 +412,9 @@ func (s *Server) Open(h fasthttp.RequestHandler) error { return errServerAlreadyStarted.Return() } - s.prepare() // do it again for any case + s.Server.MaxRequestBodySize = s.Config.MaxRequestBodySize + s.Server.ReadBufferSize = s.Config.ReadBufferSize + s.Server.WriteBufferSize = s.Config.WriteBufferSize if s.Config.RedirectTo != "" { // override the handler and redirect all requests to this addr @@ -439,13 +430,16 @@ func (s *Server) Open(h fasthttp.RequestHandler) error { s.Server.Handler = h } + if s.Config.Mode > 0 { + return s.listenUNIX() + } + + s.Config.ListeningAddr = config.ServerParseAddr(s.Config.ListeningAddr) + if s.Config.Virtual { return nil } - if s.Config.Mode > 0 { - return s.listenUNIX() - } return s.listen() } diff --git a/http_test.go b/http_test.go index 654fda8a..cbfd3fc5 100644 --- a/http_test.go +++ b/http_test.go @@ -77,9 +77,9 @@ func TestServerHost(t *testing.T) { server2.Config.ListeningAddr = "mydomain.com" server3.Config.ListeningAddr = ":9090" - server1.prepare() - server2.prepare() - server3.prepare() + server1.Config.ListeningAddr = config.ServerParseAddr(server1.Config.ListeningAddr) + server2.Config.ListeningAddr = config.ServerParseAddr(server2.Config.ListeningAddr) + server3.Config.ListeningAddr = config.ServerParseAddr(server3.Config.ListeningAddr) if server1.Host() != expectedHost1 { t.Fatalf("Expecting server 1's host to be %s but we got %s", expectedHost1, server1.Host()) @@ -96,7 +96,7 @@ func TestServerHostname(t *testing.T) { var server Server var expectedHostname = "mydomain.com" server.Config.ListeningAddr = expectedHostname + ":1993" - server.prepare() + server.Config.ListeningAddr = config.ServerParseAddr(server.Config.ListeningAddr) if server.Hostname() != expectedHostname { t.Fatalf("Expecting server's hostname to be %s but we got %s", expectedHostname, server.Hostname()) } @@ -126,8 +126,9 @@ func TestServerPort(t *testing.T) { expectedPort2 := 80 server1.Config.ListeningAddr = "mydomain.com:8080" server2.Config.ListeningAddr = "mydomain.com" - server1.prepare() - server2.prepare() + server1.Config.ListeningAddr = config.ServerParseAddr(server1.Config.ListeningAddr) + server2.Config.ListeningAddr = config.ServerParseAddr(server2.Config.ListeningAddr) + if server1.Port() != expectedPort1 { t.Fatalf("Expecting server 1's port to be %d but we got %d", expectedPort1, server1.Port()) }