1
0
mirror of https://github.com/oauth2-proxy/oauth2-proxy.git synced 2025-05-29 23:17:38 +02:00

WIP: Fix proxy mapping to upstreams

This commit is contained in:
Joel Speed 2020-11-10 18:03:42 +00:00
parent ad2d7b1ae7
commit 4bea9948f7
No known key found for this signature in database
GPG Key ID: 6E80578D6751DEFB
2 changed files with 26 additions and 3 deletions

View File

@ -40,9 +40,6 @@ var SignatureHeaders = []string{
// newHTTPUpstreamProxy creates a new httpUpstreamProxy that can serve requests
// to a single upstream host.
func newHTTPUpstreamProxy(upstream options.Upstream, u *url.URL, sigData *options.SignatureData, errorHandler ProxyErrorHandler) http.Handler {
// Set path to empty so that request paths start at the server root
u.Path = ""
// Create a ReverseProxy
proxy := newReverseProxy(u, upstream, errorHandler)

View File

@ -54,6 +54,11 @@ var _ = Describe("Proxy Suite", func() {
Static: true,
StaticCode: &ok,
},
{
ID: "http-backend-with-subpath",
Path: "/http-subpath/",
URI: fmt.Sprintf("%s/subpath/", serverAddr),
},
}
var err error
@ -179,5 +184,26 @@ var _ = Describe("Proxy Suite", func() {
raw: "404 page not found\n",
},
}),
Entry("with a request to the HTTP service registered under a subpath", &proxyTableInput{
target: "http://example.localhost/http-subpath/1234",
response: testHTTPResponse{
code: 200,
header: map[string][]string{
gapUpstream: {"http-backend-with-subpath"},
contentType: {applicationJSON},
},
request: testHTTPRequest{
Method: "GET",
URL: "http://example.localhost/subpath/http-subpath/1234",
Header: map[string][]string{
"Gap-Auth": {""},
"Gap-Signature": {"sha256 ofB1u6+FhEUbFLc3/uGbJVkl7GaN4egFqVvyO3+2I1w="},
},
Body: []byte{},
Host: "example.localhost",
RequestURI: "http://example.localhost/subpath/http-subpath/1234",
},
},
}),
)
})