From 12fa24ee96cb9d971a75df2cacfcbb1e014125e9 Mon Sep 17 00:00:00 2001 From: Vladimir Shushlin Date: Wed, 18 Nov 2020 12:07:40 +0300 Subject: Refactor listenAndServeTLS --- app.go | 13 ++++++++++++- server.go | 10 ---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app.go b/app.go index aa95a917..218c1be4 100644 --- a/app.go +++ b/app.go @@ -29,6 +29,7 @@ import ( "gitlab.com/gitlab-org/gitlab-pages/internal/netutil" "gitlab.com/gitlab-org/gitlab-pages/internal/request" "gitlab.com/gitlab-org/gitlab-pages/internal/source" + "gitlab.com/gitlab-org/gitlab-pages/internal/tlsconfig" "gitlab.com/gitlab-org/gitlab-pages/metrics" ) @@ -393,7 +394,12 @@ func (a *theApp) listenHTTPSFD(wg *sync.WaitGroup, fd uintptr, httpHandler http. wg.Add(1) go func() { defer wg.Done() - err := listenAndServeTLS(fd, a.RootCertificate, a.RootKey, httpHandler, a.ServeTLS, a.InsecureCiphers, a.TLSMinVersion, a.TLSMaxVersion, a.HTTP2, limiter) + tlsConfig, err := a.TLSConfig() + if err != nil { + capturingFatal(err, errortracking.WithField("listener", request.SchemeHTTPS)) + } + + err = listenAndServe(fd, httpHandler, a.HTTP2, tlsConfig, limiter) if err != nil { capturingFatal(err, errortracking.WithField("listener", request.SchemeHTTPS)) } @@ -483,3 +489,8 @@ func runApp(config appConfig) { func fatal(err error, message string) { log.WithError(err).Fatal(message) } + +func (a *theApp) TLSConfig() (*tls.Config, error) { + return tlsconfig.Create(a.RootCertificate, a.RootKey, a.ServeTLS, + a.InsecureCiphers, a.TLSMinVersion, a.TLSMaxVersion) +} diff --git a/server.go b/server.go index 64f8f5f9..04ba818a 100644 --- a/server.go +++ b/server.go @@ -12,7 +12,6 @@ import ( "golang.org/x/net/http2" "gitlab.com/gitlab-org/gitlab-pages/internal/netutil" - "gitlab.com/gitlab-org/gitlab-pages/internal/tlsconfig" ) type keepAliveListener struct { @@ -63,12 +62,3 @@ func listenAndServe(fd uintptr, handler http.Handler, useHTTP2 bool, tlsConfig * } return server.Serve(&keepAliveListener{l}) } - -func listenAndServeTLS(fd uintptr, cert, key []byte, handler http.Handler, getCertificate tlsconfig.GetCertificateFunc, insecureCiphers bool, tlsMinVersion uint16, tlsMaxVersion uint16, useHTTP2 bool, limiter *netutil.Limiter) error { - tlsConfig, err := tlsconfig.Create(cert, key, getCertificate, insecureCiphers, tlsMinVersion, tlsMaxVersion) - if err != nil { - return err - } - - return listenAndServe(fd, handler, useHTTP2, tlsConfig, limiter) -} -- cgit v1.2.3