From 52b3a6dd16d160d8263a5694d5ed83e3d0396f47 Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Sun, 3 Dec 2017 14:31:03 +0000
Subject: [PATCH] Handle a null ServerConfig

---
 serverutil/http.go | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/serverutil/http.go b/serverutil/http.go
index 1c218fe..9a72a78 100644
--- a/serverutil/http.go
+++ b/serverutil/http.go
@@ -30,19 +30,21 @@ type ServerConfig struct {
 // SIGINT or SIGTERM and return nil.
 func Serve(h http.Handler, serverConfig *ServerConfig, addr string) (err error) {
 	var tlsConfig *tls.Config
-	if serverConfig.TLS != nil {
-		tlsConfig, err = serverConfig.TLS.TLSConfig()
-		if err != nil {
-			return err
-		}
-		h, err = serverConfig.TLS.TLSAuthWrapper(h)
-		if err != nil {
-			return err
+	if serverConfig != nil {
+		if serverConfig.TLS != nil {
+			tlsConfig, err = serverConfig.TLS.TLSConfig()
+			if err != nil {
+				return err
+			}
+			h, err = serverConfig.TLS.TLSAuthWrapper(h)
+			if err != nil {
+				return err
+			}
 		}
-	}
 
-	if serverConfig.MaxInflightRequests > 0 {
-		h = newLoadSheddingWrapper(serverConfig.MaxInflightRequests, h)
+		if serverConfig.MaxInflightRequests > 0 {
+			h = newLoadSheddingWrapper(serverConfig.MaxInflightRequests, h)
+		}
 	}
 
 	srv := &http.Server{
-- 
GitLab