Keep http.Server as a field of tango struct #45

Merged
lunny merged 1 commits from youjianglong/master into master 2018-03-21 02:07:36 +00:00

11
tan.go
View File

@ -19,6 +19,7 @@ func Version() string {
// Tango describes tango object
type Tango struct {
http.Server
Router
handlers []Handler
logger Logger
@ -146,7 +147,10 @@ func (t *Tango) Run(args ...interface{}) {
addr := getAddress(args...)
t.logger.Info("Listening on http://" + addr)
err := http.ListenAndServe(addr, t)
t.Server.Addr = addr
t.Server.Handler = t
err := t.ListenAndServe()
if err != nil {
t.logger.Error(err)
}
@ -158,7 +162,10 @@ func (t *Tango) RunTLS(certFile, keyFile string, args ...interface{}) {
t.logger.Info("Listening on https://" + addr)
err := http.ListenAndServeTLS(addr, certFile, keyFile, t)
t.Server.Addr = addr
t.Server.Handler = t
err := t.ListenAndServeTLS(certFile, keyFile)
if err != nil {
t.logger.Error(err)
}