diff --git a/Dockerfile b/Dockerfile index a88c2b0..04975bc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.7 +FROM golang:1.8 # Copy the runtime dockerfile into the context as Dockerfile COPY Dockerfile.run /go/bin/Dockerfile diff --git a/api.go b/api.go index 277ea0c..3470312 100644 --- a/api.go +++ b/api.go @@ -5,6 +5,7 @@ import ( "log" "net/http" "os" + "time" gh "github.com/gorilla/handlers" "github.com/gorilla/mux" @@ -104,9 +105,16 @@ func main() { r.PathPrefix("/").Handler(negroni.New(negroni.Wrap(corsHandler(corsRouter)))) n.UseHandler(r) + httpServer := http.Server{ + Addr: "0.0.0.0:" + config.PortNumber, + Handler: n, + IdleTimeout: 30 * time.Second, + ReadHeaderTimeout: 5 * time.Second, + } + go func() { log.Println("Listening on port " + config.PortNumber) - log.Fatal(http.ListenAndServe("0.0.0.0:"+config.PortNumber, n)) + log.Fatal(httpServer.ListenAndServe()) }() // Now listen for TLS connections that need to be proxied