mirror of
https://github.com/nabbar/golib.git
synced 2025-10-16 12:51:21 +08:00
Fix httpserver with disabled server
This commit is contained in:
@@ -36,6 +36,8 @@ const (
|
|||||||
ErrorPoolListen
|
ErrorPoolListen
|
||||||
ErrorServerValidate
|
ErrorServerValidate
|
||||||
ErrorPortUse
|
ErrorPortUse
|
||||||
|
ErrorServerDisabled
|
||||||
|
ErrorServerOffline
|
||||||
)
|
)
|
||||||
|
|
||||||
var isCodeError = false
|
var isCodeError = false
|
||||||
@@ -67,6 +69,10 @@ func getMessage(code errors.CodeError) (message string) {
|
|||||||
return "config server seems to be not valid"
|
return "config server seems to be not valid"
|
||||||
case ErrorPortUse:
|
case ErrorPortUse:
|
||||||
return "server port is still used"
|
return "server port is still used"
|
||||||
|
case ErrorServerDisabled:
|
||||||
|
return "server disabled"
|
||||||
|
case ErrorServerOffline:
|
||||||
|
return "server offline"
|
||||||
}
|
}
|
||||||
|
|
||||||
return ""
|
return ""
|
||||||
|
@@ -92,6 +92,14 @@ func (s *server) GetConfig() *ServerConfig {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *server) IsDisabled() bool {
|
||||||
|
if c := s.GetConfig(); c != nil {
|
||||||
|
return c.Disabled
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
func (s *server) SetConfig(cfg *ServerConfig) bool {
|
func (s *server) SetConfig(cfg *ServerConfig) bool {
|
||||||
if cfg == nil {
|
if cfg == nil {
|
||||||
return false
|
return false
|
||||||
@@ -160,6 +168,13 @@ func (s *server) IsTLS() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *server) Listen(handler http.Handler) liberr.Error {
|
func (s *server) Listen(handler http.Handler) liberr.Error {
|
||||||
|
if s.IsDisabled() && !s.IsRunning() {
|
||||||
|
return nil
|
||||||
|
} else if s.IsDisabled() {
|
||||||
|
s.Shutdown()
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
r := s.getRun()
|
r := s.getRun()
|
||||||
e := r.Listen(s.GetConfig(), handler)
|
e := r.Listen(s.GetConfig(), handler)
|
||||||
s.setRun(r)
|
s.setRun(r)
|
||||||
@@ -177,6 +192,10 @@ func (s *server) Restart() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *server) Shutdown() {
|
func (s *server) Shutdown() {
|
||||||
|
if s.IsDisabled() && !s.IsRunning() {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
r := s.getRun()
|
r := s.getRun()
|
||||||
r.Shutdown()
|
r.Shutdown()
|
||||||
s.setRun(r)
|
s.setRun(r)
|
||||||
@@ -199,17 +218,14 @@ func (s *server) StatusInfo() (name string, release string, hash string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *server) StatusHealth() error {
|
func (s *server) StatusHealth() error {
|
||||||
c := s.GetConfig()
|
if !s.IsDisabled() && s.IsRunning() {
|
||||||
if !c.Disabled && s.IsRunning() {
|
|
||||||
return nil
|
return nil
|
||||||
} else if c.Disabled {
|
} else if s.IsDisabled() {
|
||||||
//nolint #goerr113
|
return ErrorServerDisabled.Error(nil)
|
||||||
return fmt.Errorf("server disabled")
|
|
||||||
} else if e := s.getErr(); e != nil {
|
} else if e := s.getErr(); e != nil {
|
||||||
return e
|
return e
|
||||||
} else {
|
} else {
|
||||||
//nolint #goerr113
|
return ErrorServerOffline.Error(nil)
|
||||||
return fmt.Errorf("server is offline -- missing error")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user