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

View File

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