Added support fot https in user server

This commit is contained in:
Héctor Hurtado
2020-01-22 17:27:24 +01:00
parent 64653d6d79
commit 493e6be78c
3 changed files with 33 additions and 17 deletions
+12 -4
View File
@@ -22,11 +22,19 @@ import (
"github.com/BBVA/kapow/internal/server/user"
)
type ServerConfig struct {
ControlBindAddr,
DataBindAddr,
UserBindAddr,
KeyFile,
CertFile string
}
// StartServer Starts one instance of each server in a goroutine and remains listening on a channel for trace events generated by them
func StartServer(controlBindAddr, dataBindAddr, userBindAddr string) {
go control.Run(controlBindAddr)
go data.Run(dataBindAddr)
go user.Run(userBindAddr)
func StartServer(config ServerConfig) {
go control.Run(config.ControlBindAddr)
go data.Run(config.DataBindAddr)
go user.Run(config.UserBindAddr, config.CertFile, config.KeyFile)
// Wait for ever
select {}
+10 -3
View File
@@ -29,12 +29,19 @@ var Server = http.Server{
}
// Run finishes configuring Server and runs ListenAndServe on it
func Run(bindAddr string) {
func Run(bindAddr, certFile, keyFile string) {
Server = http.Server{
Addr: bindAddr,
Handler: mux.New(),
}
if err := Server.ListenAndServe(); err != http.ErrServerClosed {
log.Fatalf("UserServer failed: %s", err)
if (certFile != "") && (keyFile != "") {
if err := Server.ListenAndServeTLS(certFile, keyFile); err != http.ErrServerClosed {
log.Fatalf("UserServer failed: %s", err)
}
} else {
if err := Server.ListenAndServe(); err != http.ErrServerClosed {
log.Fatalf("UserServer failed: %s", err)
}
}
}