diff --git a/internal/mediaproxy/media_proxy_test.go b/internal/mediaproxy/media_proxy_test.go index 8c544af6..27043194 100644 --- a/internal/mediaproxy/media_proxy_test.go +++ b/internal/mediaproxy/media_proxy_test.go @@ -182,7 +182,7 @@ func TestAbsoluteProxyFilterWithHttpsAlways(t *testing.T) { } } -func TestAbsoluteProxyFilterWithCustomPortInBaseURL(t *testing.T) { +func TestAbsoluteProxyFilterWithCustomPortAndSubfolderInBaseURL(t *testing.T) { os.Clearenv() os.Setenv("BASE_URL", "http://example.org:88/folder/") os.Setenv("MEDIA_PROXY_PRIVATE_KEY", "test") @@ -198,11 +198,20 @@ func TestAbsoluteProxyFilterWithCustomPortInBaseURL(t *testing.T) { t.Fatalf(`Unexpected base URL, got "%s"`, config.Opts.BaseURL()) } - r := mux.NewRouter() - r.HandleFunc("/proxy/{encodedDigest}/{encodedURL}", func(w http.ResponseWriter, r *http.Request) {}).Name("proxy") + if config.Opts.RootURL() != "http://example.org:88" { + t.Fatalf(`Unexpected root URL, got "%s"`, config.Opts.RootURL()) + } + + router := mux.NewRouter() + + if config.Opts.BasePath() != "" { + router = router.PathPrefix(config.Opts.BasePath()).Subrouter() + } + + router.HandleFunc("/proxy/{encodedDigest}/{encodedURL}", func(w http.ResponseWriter, r *http.Request) {}).Name("proxy") input := `