mirror of
https://github.com/labstack/echo.git
synced 2024-11-24 08:22:21 +02:00
Fixed tls config
Signed-off-by: Vishal Rana <vr@labstack.com>
This commit is contained in:
parent
17d59627a8
commit
26c35d8f74
27
echo.go
27
echo.go
@ -231,8 +231,9 @@ var (
|
|||||||
// New creates an instance of Echo.
|
// New creates an instance of Echo.
|
||||||
func New() (e *Echo) {
|
func New() (e *Echo) {
|
||||||
e = &Echo{
|
e = &Echo{
|
||||||
Server: new(http.Server),
|
Server: new(http.Server),
|
||||||
TLSServer: new(http.Server),
|
TLSServer: new(http.Server),
|
||||||
|
// TODO: https://github.com/golang/go/commit/d24f446a90ea94b87591bf16228d7d871fec3d92
|
||||||
TLSConfig: new(tls.Config),
|
TLSConfig: new(tls.Config),
|
||||||
ShutdownTimeout: 15 * time.Second,
|
ShutdownTimeout: 15 * time.Second,
|
||||||
maxParam: new(int),
|
maxParam: new(int),
|
||||||
@ -253,6 +254,7 @@ func New() (e *Echo) {
|
|||||||
l.SetLevel(glog.OFF)
|
l.SetLevel(glog.OFF)
|
||||||
e.Logger = l
|
e.Logger = l
|
||||||
e.graceful.Logger.SetOutput(l.Output())
|
e.graceful.Logger.SetOutput(l.Output())
|
||||||
|
e.gracefulTLS.Logger.SetOutput(l.Output())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,9 +512,9 @@ func (e *Echo) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Start starts the HTTP server.
|
// Start starts the HTTP server.
|
||||||
// Note: If custom `http.Server` is used, it's Addr property is ignored in favor
|
// Note: If custom `http.Server` is used, it's Addr and Handler properties are ignored.
|
||||||
// of provided address.
|
|
||||||
func (e *Echo) Start(address string) (err error) {
|
func (e *Echo) Start(address string) (err error) {
|
||||||
|
e.Server.Handler = e
|
||||||
e.graceful.Server = e.Server
|
e.graceful.Server = e.Server
|
||||||
e.graceful.Addr = address
|
e.graceful.Addr = address
|
||||||
e.Logger.Printf(" ⇛ http server started on %s", e.Logger.Color().Green(address))
|
e.Logger.Printf(" ⇛ http server started on %s", e.Logger.Color().Green(address))
|
||||||
@ -520,29 +522,24 @@ func (e *Echo) Start(address string) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// StartTLS starts the TLS server.
|
// StartTLS starts the TLS server.
|
||||||
// Note: If custom `http.Server` is used, it's Addr property is ignored in favor
|
// Note: If custom `http.Server` is used, it's Addr and Handler properties are ignored.
|
||||||
// of provided address.
|
|
||||||
func (e *Echo) StartTLS(address string, certFile, keyFile string) (err error) {
|
func (e *Echo) StartTLS(address string, certFile, keyFile string) (err error) {
|
||||||
|
e.TLSServer.Handler = e
|
||||||
e.gracefulTLS.Server = e.TLSServer
|
e.gracefulTLS.Server = e.TLSServer
|
||||||
e.gracefulTLS.Addr = address
|
e.gracefulTLS.Addr = address
|
||||||
if certFile == "" || keyFile == "" {
|
if certFile == "" || keyFile == "" {
|
||||||
return errors.New("invalid tls configuration")
|
return errors.New("invalid tls configuration")
|
||||||
}
|
}
|
||||||
config := new(tls.Config)
|
|
||||||
// if e.TLSConfig != nil {
|
|
||||||
// TODO: https://github.com/golang/go/commit/d24f446a90ea94b87591bf16228d7d871fec3d92
|
|
||||||
*config = *e.TLSConfig
|
|
||||||
// }
|
|
||||||
if !e.DisableHTTP2 {
|
if !e.DisableHTTP2 {
|
||||||
config.NextProtos = append(config.NextProtos, "h2")
|
e.TLSConfig.NextProtos = append(e.TLSConfig.NextProtos, "h2")
|
||||||
}
|
}
|
||||||
config.Certificates = make([]tls.Certificate, 1)
|
e.TLSConfig.Certificates = make([]tls.Certificate, 1)
|
||||||
config.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile)
|
e.TLSConfig.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
e.Logger.Printf(" ⇛ https server started on %s", e.Logger.Color().Green(address))
|
e.Logger.Printf(" ⇛ https server started on %s", e.Logger.Color().Green(address))
|
||||||
return e.gracefulTLS.ListenAndServeTLSConfig(config)
|
return e.gracefulTLS.ListenAndServeTLSConfig(e.TLSConfig)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Shutdown gracefully shutdown the HTTP server with timeout.
|
// Shutdown gracefully shutdown the HTTP server with timeout.
|
||||||
|
Loading…
Reference in New Issue
Block a user