d56491ab by astaxie

sync beeApp.Server to graceful

1 parent 9fd7acf6
...@@ -78,15 +78,19 @@ func (app *App) Run() { ...@@ -78,15 +78,19 @@ func (app *App) Run() {
78 } 78 }
79 } else { 79 } else {
80 if Graceful { 80 if Graceful {
81 app.Server.Addr = addr
82 app.Server.Handler = app.Handlers
83 app.Server.ReadTimeout = time.Duration(HttpServerTimeOut) * time.Second
84 app.Server.WriteTimeout = time.Duration(HttpServerTimeOut) * time.Second
81 if EnableHttpTLS { 85 if EnableHttpTLS {
82 go func() { 86 go func() {
83 time.Sleep(20 * time.Microsecond) 87 time.Sleep(20 * time.Microsecond)
84 if HttpsPort != 0 { 88 if HttpsPort != 0 {
85 addr = fmt.Sprintf("%s:%d", HttpAddr, HttpsPort) 89 addr = fmt.Sprintf("%s:%d", HttpAddr, HttpsPort)
90 app.Server.Addr = addr
86 } 91 }
87 server := grace.NewServer(addr, app.Handlers) 92 server := grace.NewServer(addr, app.Handlers)
88 server.Server.ReadTimeout = time.Duration(HttpServerTimeOut) * time.Second 93 server.Server = app.Server
89 server.Server.WriteTimeout = time.Duration(HttpServerTimeOut) * time.Second
90 err := server.ListenAndServeTLS(HttpCertFile, HttpKeyFile) 94 err := server.ListenAndServeTLS(HttpCertFile, HttpKeyFile)
91 if err != nil { 95 if err != nil {
92 BeeLogger.Critical("ListenAndServeTLS: ", err) 96 BeeLogger.Critical("ListenAndServeTLS: ", err)
...@@ -98,8 +102,7 @@ func (app *App) Run() { ...@@ -98,8 +102,7 @@ func (app *App) Run() {
98 if EnableHttpListen { 102 if EnableHttpListen {
99 go func() { 103 go func() {
100 server := grace.NewServer(addr, app.Handlers) 104 server := grace.NewServer(addr, app.Handlers)
101 server.Server.ReadTimeout = time.Duration(HttpServerTimeOut) * time.Second 105 server.Server = app.Server
102 server.Server.WriteTimeout = time.Duration(HttpServerTimeOut) * time.Second
103 if ListenTCP4 && HttpAddr == "" { 106 if ListenTCP4 && HttpAddr == "" {
104 server.Network = "tcp4" 107 server.Network = "tcp4"
105 } 108 }
......
...@@ -99,7 +99,7 @@ func init() { ...@@ -99,7 +99,7 @@ func init() {
99 } 99 }
100 100
101 type graceServer struct { 101 type graceServer struct {
102 http.Server 102 *http.Server
103 GraceListener net.Listener 103 GraceListener net.Listener
104 SignalHooks map[int]map[os.Signal][]func() 104 SignalHooks map[int]map[os.Signal][]func()
105 tlsInnerListener *graceListener 105 tlsInnerListener *graceListener
...@@ -151,7 +151,7 @@ func NewServer(addr string, handler http.Handler) (srv *graceServer) { ...@@ -151,7 +151,7 @@ func NewServer(addr string, handler http.Handler) (srv *graceServer) {
151 state: STATE_INIT, 151 state: STATE_INIT,
152 Network: "tcp", 152 Network: "tcp",
153 } 153 }
154 154 srv.Server = &http.Server{}
155 srv.Server.Addr = addr 155 srv.Server.Addr = addr
156 srv.Server.ReadTimeout = DefaultReadTimeOut 156 srv.Server.ReadTimeout = DefaultReadTimeOut
157 srv.Server.WriteTimeout = DefaultWriteTimeOut 157 srv.Server.WriteTimeout = DefaultWriteTimeOut
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!