diff --git a/app/pkg/web/context.go b/app/pkg/web/context.go index 4857bcded..885875416 100644 --- a/app/pkg/web/context.go +++ b/app/pkg/web/context.go @@ -377,6 +377,9 @@ func (c *Context) RemoveCookie(name string) { // BaseURL returns base URL func (c *Context) BaseURL() string { + if env.IsSingleHostMode() { + return env.Config.BaseURL + } return c.Request.BaseURL() } diff --git a/app/pkg/web/context_test.go b/app/pkg/web/context_test.go index 8bf097095..9fb9b2a96 100644 --- a/app/pkg/web/context_test.go +++ b/app/pkg/web/context_test.go @@ -75,6 +75,23 @@ func TestBaseURL_HTTPS_Proxy(t *testing.T) { Expect(ctx.BaseURL()).Equals("https://demo.test.fider.io:3000") } +func TestBaseURL_SingleHostMode_WithPath(t *testing.T) { + RegisterT(t) + + prevHostMode := env.Config.HostMode + prevBaseURL := env.Config.BaseURL + defer func() { + env.Config.HostMode = prevHostMode + env.Config.BaseURL = prevBaseURL + }() + + env.Config.HostMode = "single" + env.Config.BaseURL = "https://example.com/feedback" + ctx := newGetContext("http://example.com:3000", nil) + + Expect(ctx.BaseURL()).Equals("https://example.com/feedback") +} + func TestCurrentURL(t *testing.T) { RegisterT(t)