diff options
author | kali kaneko (leap communications) <kali@leap.se> | 2021-09-21 23:17:18 +0200 |
---|---|---|
committer | kali kaneko (leap communications) <kali@leap.se> | 2021-09-21 23:17:20 +0200 |
commit | ada7214469f116bbc659ef02c1e6facdcc019a4d (patch) | |
tree | 6389df0ba2060817c002e5d250b8424e168da699 | |
parent | cb05011a35a302cb382724cfe8ef8ba2575418b7 (diff) |
add timeouts
see https://ieftimov.com/post/make-resilient-golang-net-http-servers-using-timeouts-deadlines-context-cancellation/
-rw-r--r-- | main.go | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -271,11 +271,20 @@ func main() { log.Println("Started Geolocation Service") log.Printf("Listening on port %v...\n", *port) - pstr := ":" + strconv.Itoa(*port) + addr := ":" + strconv.Itoa(*port) + s := &http.Server{ + Addr: addr, + Handler: mux, + ReadTimeout: 1 * time.Second, + WriteTimeout: 1 * time.Second, + IdleTimeout: 30 * time.Second, + ReadHeaderTimeout: 2 * time.Second, + MaxHeaderBytes: 1 << 20, + } if *notls == true { - err = http.ListenAndServe(pstr, mux) + err = s.ListenAndServe() } else { - err = http.ListenAndServeTLS(pstr, *crt, *key, mux) + err = s.ListenAndServeTLS(*crt, *key) } if err != nil { |