mirror of
https://github.com/coder/coder.git
synced 2025-07-13 21:36:50 +00:00
fix: code-server path based forwarding, defer to code-server (#11759)
Do not attempt to construct a path based port forward url. Always defer to code server, as it has it's own proxy method.
This commit is contained in:
@ -150,12 +150,14 @@ func (a *ManifestAPI) GetManifest(ctx context.Context, _ *agentproto.GetManifest
|
||||
}
|
||||
|
||||
func vscodeProxyURI(app appurl.ApplicationURL, accessURL *url.URL, appHost string) string {
|
||||
// Proxying by port only works for subdomains. If subdomain support is not
|
||||
// available, return an empty string.
|
||||
if appHost == "" {
|
||||
return ""
|
||||
}
|
||||
|
||||
// This will handle the ports from the accessURL or appHost.
|
||||
appHost = appurl.SubdomainAppHost(appHost, accessURL)
|
||||
// If there is no appHost, then we want to use the access url as the proxy uri.
|
||||
if appHost == "" {
|
||||
appHost = accessURL.Host
|
||||
}
|
||||
// Return the url with a scheme and any wildcards replaced with the app slug.
|
||||
return accessURL.Scheme + "://" + strings.ReplaceAll(appHost, "*", app.String())
|
||||
}
|
||||
|
@ -35,19 +35,18 @@ func Test_vscodeProxyURI(t *testing.T) {
|
||||
Expected string
|
||||
}{
|
||||
{
|
||||
// No hostname proxies through the access url.
|
||||
Name: "NoHostname",
|
||||
AccessURL: coderAccessURL,
|
||||
AppHostname: "",
|
||||
App: basicApp,
|
||||
Expected: coderAccessURL.String(),
|
||||
Expected: "",
|
||||
},
|
||||
{
|
||||
Name: "NoHostnameAccessURLPort",
|
||||
AccessURL: accessURLWithPort,
|
||||
AppHostname: "",
|
||||
App: basicApp,
|
||||
Expected: accessURLWithPort.String(),
|
||||
Expected: "",
|
||||
},
|
||||
{
|
||||
Name: "Hostname",
|
||||
|
Reference in New Issue
Block a user