diff options
author | Nick Thomas <nick@gitlab.com> | 2017-05-23 20:49:23 +0300 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2017-05-23 20:49:23 +0300 |
commit | 5bfc18c752c12ee4dd1e7cf3e1220063c7f6a1fa (patch) | |
tree | 6251f5df2f83773f8dfe7b874751539018fbae27 | |
parent | dccd0f2b3206c2935b41ad1cedc02bd4922446b8 (diff) | |
parent | 383f445167f225863f5a2de18228b25031fe44c6 (diff) |
Merge branch '51-remove-port-from-domain-lookups' into 'master'
Resolve "Setting custom port in pages_external_url results in 404"
Closes #51
See merge request !31
-rw-r--r-- | acceptance_test.go | 15 | ||||
-rw-r--r-- | app.go | 7 |
2 files changed, 21 insertions, 1 deletions
diff --git a/acceptance_test.go b/acceptance_test.go index 24c0104c..d08bce12 100644 --- a/acceptance_test.go +++ b/acceptance_test.go @@ -69,6 +69,21 @@ func TestKnownHostReturns200(t *testing.T) { } } +func TestKnownHostWithPortReturns200(t *testing.T) { + skipUnlessEnabled(t) + teardown := RunPagesProcess(t, *pagesBinary, listeners, "") + defer teardown() + + for _, spec := range listeners { + rsp, err := GetPageFromListener(t, spec, "group.gitlab-example.com:"+spec.Port, "project/") + + assert.NoError(t, err) + rsp.Body.Close() + assert.Equal(t, http.StatusOK, rsp.StatusCode) + } + +} + func TestHttpToHttpsRedirectDisabled(t *testing.T) { skipUnlessEnabled(t) teardown := RunPagesProcess(t, *pagesBinary, listeners, "", "-redirect-http=false") @@ -3,6 +3,7 @@ package main import ( "crypto/tls" "log" + "net" "net/http" "strconv" "strings" @@ -62,7 +63,11 @@ func (a *theApp) serveContent(ww http.ResponseWriter, r *http.Request, https boo return } - domain := a.domain(r.Host) + host, _, err := net.SplitHostPort(r.Host) + if err != nil { + host = r.Host + } + domain := a.domain(host) if domain == nil { serve404(&w) return |