This commit is contained in:
Gerasimos Maropoulos 2016-07-27 17:09:19 +03:00
parent 5f76942b52
commit 77955c8540
2 changed files with 16 additions and 21 deletions

24
http.go
View File

@ -258,20 +258,9 @@ func newServer(cfg config.Server) *Server {
cfg.Name = config.DefaultServerName cfg.Name = config.DefaultServerName
} }
s := &Server{Server: &fasthttp.Server{Name: cfg.Name}, Config: cfg} s := &Server{Server: &fasthttp.Server{Name: cfg.Name}, Config: cfg}
s.prepare()
return s 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 // IsListening returns true if server is listening/started, otherwise false
func (s *Server) IsListening() bool { func (s *Server) IsListening() bool {
if s == nil { if s == nil {
@ -423,7 +412,9 @@ func (s *Server) Open(h fasthttp.RequestHandler) error {
return errServerAlreadyStarted.Return() 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 != "" { if s.Config.RedirectTo != "" {
// override the handler and redirect all requests to this addr // 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 s.Server.Handler = h
} }
if s.Config.Mode > 0 {
return s.listenUNIX()
}
s.Config.ListeningAddr = config.ServerParseAddr(s.Config.ListeningAddr)
if s.Config.Virtual { if s.Config.Virtual {
return nil return nil
} }
if s.Config.Mode > 0 {
return s.listenUNIX()
}
return s.listen() return s.listen()
} }

View File

@ -77,9 +77,9 @@ func TestServerHost(t *testing.T) {
server2.Config.ListeningAddr = "mydomain.com" server2.Config.ListeningAddr = "mydomain.com"
server3.Config.ListeningAddr = ":9090" server3.Config.ListeningAddr = ":9090"
server1.prepare() server1.Config.ListeningAddr = config.ServerParseAddr(server1.Config.ListeningAddr)
server2.prepare() server2.Config.ListeningAddr = config.ServerParseAddr(server2.Config.ListeningAddr)
server3.prepare() server3.Config.ListeningAddr = config.ServerParseAddr(server3.Config.ListeningAddr)
if server1.Host() != expectedHost1 { if server1.Host() != expectedHost1 {
t.Fatalf("Expecting server 1's host to be %s but we got %s", expectedHost1, server1.Host()) 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 server Server
var expectedHostname = "mydomain.com" var expectedHostname = "mydomain.com"
server.Config.ListeningAddr = expectedHostname + ":1993" server.Config.ListeningAddr = expectedHostname + ":1993"
server.prepare() server.Config.ListeningAddr = config.ServerParseAddr(server.Config.ListeningAddr)
if server.Hostname() != expectedHostname { if server.Hostname() != expectedHostname {
t.Fatalf("Expecting server's hostname to be %s but we got %s", expectedHostname, server.Hostname()) 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 expectedPort2 := 80
server1.Config.ListeningAddr = "mydomain.com:8080" server1.Config.ListeningAddr = "mydomain.com:8080"
server2.Config.ListeningAddr = "mydomain.com" server2.Config.ListeningAddr = "mydomain.com"
server1.prepare() server1.Config.ListeningAddr = config.ServerParseAddr(server1.Config.ListeningAddr)
server2.prepare() server2.Config.ListeningAddr = config.ServerParseAddr(server2.Config.ListeningAddr)
if server1.Port() != expectedPort1 { if server1.Port() != expectedPort1 {
t.Fatalf("Expecting server 1's port to be %d but we got %d", expectedPort1, server1.Port()) t.Fatalf("Expecting server 1's port to be %d but we got %d", expectedPort1, server1.Port())
} }