This commit is contained in:
Héctor Hurtado
2020-04-06 18:02:29 +02:00
parent 73ef493f04
commit e6e25f25c7
5 changed files with 56 additions and 18 deletions
+18 -7
View File
@@ -22,7 +22,9 @@ import (
"fmt"
"io/ioutil"
"log"
"net"
"net/http"
"sync"
"github.com/BBVA/kapow/internal/server/user/mux"
)
@@ -33,12 +35,17 @@ var Server = http.Server{
}
// Run finishes configuring Server and runs ListenAndServe on it
func Run(bindAddr, certFile, keyFile, cliCaFile string, cliAuth bool) {
func Run(bindAddr string, wg *sync.WaitGroup, certFile, keyFile, cliCaFile string, cliAuth bool) {
Server = http.Server{
Addr: bindAddr,
Handler: mux.New(),
}
listener, err := net.Listen("tcp", bindAddr)
if err != nil {
log.Fatal(err)
}
if (certFile != "") && (keyFile != "") {
if cliAuth {
if Server.TLSConfig == nil {
@@ -59,13 +66,17 @@ func Run(bindAddr, certFile, keyFile, cliCaFile string, cliAuth bool) {
}
}
if err := Server.ListenAndServeTLS(certFile, keyFile); err != http.ErrServerClosed {
log.Fatalf("UserServer failed: %s", err)
}
// Signal startup
log.Printf("UserServer listening at %s\n", bindAddr)
wg.Done()
log.Fatal(Server.ServeTLS(listener, certFile, keyFile))
} else {
if err := Server.ListenAndServe(); err != http.ErrServerClosed {
log.Fatalf("UserServer failed: %s", err)
}
// Signal startup
log.Printf("UserServer listening at %s\n", bindAddr)
wg.Done()
log.Fatal(Server.Serve(listener))
}
}