diff options
author | Tuomo Ala-Vannesluoma <tuomoav@gmail.com> | 2019-09-26 16:35:28 +0300 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-09-26 16:35:28 +0300 |
commit | c781a7ccd3147f750faeda631db15d06de455949 (patch) | |
tree | c2d190d278bb270eed5b2ecae0ba9e77f84e1577 /app.go | |
parent | 218376d484a8ec55882b037475ec3201d1c897cf (diff) |
Add support for previewing artifacts that are not public
Remove some duplicate logic on Auth module
Separate handling artifact to own handlers package
Unit test handlers by mocking auth and artifact modules
Add generate-mock step to Makefile
Use additional handler func to simplify TryMakeRequest return type
Always try with token if exists
Do not log RequestURI, log path only
Remove not used logRequest func
Diffstat (limited to 'app.go')
-rw-r--r-- | app.go | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -24,6 +24,7 @@ import ( "gitlab.com/gitlab-org/gitlab-pages/internal/auth" headerConfig "gitlab.com/gitlab-org/gitlab-pages/internal/config" "gitlab.com/gitlab-org/gitlab-pages/internal/domain" + "gitlab.com/gitlab-org/gitlab-pages/internal/handlers" "gitlab.com/gitlab-org/gitlab-pages/internal/httperrors" "gitlab.com/gitlab-org/gitlab-pages/internal/logging" "gitlab.com/gitlab-org/gitlab-pages/internal/netutil" @@ -51,6 +52,7 @@ type theApp struct { lock sync.RWMutex Artifact *artifact.Artifact Auth *auth.Auth + Handlers *handlers.Handlers AcmeMiddleware *acme.Middleware CustomHeaders http.Header } @@ -145,9 +147,7 @@ func (a *theApp) tryAuxiliaryHandlers(w http.ResponseWriter, r *http.Request, ht return true } - // In the event a host is prefixed with the artifact prefix an artifact - // value is created, and an attempt to proxy the request is made - if a.Artifact.TryMakeRequest(host, w, r) { + if a.Handlers.HandleArtifactRequest(host, w, r) { return true } @@ -488,6 +488,8 @@ func runApp(config appConfig) { config.RedirectURI, config.GitLabServer) } + a.Handlers = handlers.New(a.Auth, a.Artifact) + if config.GitLabServer != "" { a.AcmeMiddleware = &acme.Middleware{GitlabURL: config.GitLabServer} } |