diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2020-11-20 14:34:07 +0300 |
---|---|---|
committer | Grzegorz Bizon <grzegorz@gitlab.com> | 2020-11-20 14:34:07 +0300 |
commit | 171b3add113d331041bdbc67f1afd0c6d98afcc5 (patch) | |
tree | f5a4cbd161a9e6549ad5238259c655355a5454df | |
parent | 03aa0f5c194849dba64825a420192cda4efba018 (diff) | |
parent | 12fa24ee96cb9d971a75df2cacfcbb1e014125e9 (diff) |
Merge branch 'refactor-tls-listener' into 'master'
Refactor listenAndServeTLS
See merge request gitlab-org/gitlab-pages!395
-rw-r--r-- | app.go | 13 | ||||
-rw-r--r-- | server.go | 10 |
2 files changed, 12 insertions, 11 deletions
@@ -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) +} @@ -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) -} |