fix: revert: use CRC32 to shorten app subdomain

This reverts commit 0e28397c82.
This commit is contained in:
Marcin Tojek 2023-10-10 10:12:46 +02:00 committed by GitHub
parent b039dc6989
commit f36fba2486
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 24 deletions

View File

@ -2,7 +2,6 @@ package httpapi
import (
"fmt"
"hash/crc32"
"net"
"regexp"
"strings"
@ -19,8 +18,6 @@ var (
nameRegex))
validHostnameLabelRegex = regexp.MustCompile(`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`)
crcTable = crc32.MakeTable(crc32.IEEE)
)
// ApplicationURL is a parsed application URL hostname.
@ -42,12 +39,7 @@ func (a ApplicationURL) String() string {
_, _ = appURL.WriteString(a.WorkspaceName)
_, _ = appURL.WriteString("--")
_, _ = appURL.WriteString(a.Username)
hostname := appURL.String()
if len(hostname) < 64 { // max length for the subdomain level
return hostname
}
return fmt.Sprintf("app-%08x", crc32.Checksum([]byte(hostname), crcTable))
return appURL.String()
}
// ParseSubdomainAppURL parses an ApplicationURL from the given subdomain. If

View File

@ -42,16 +42,6 @@ func TestApplicationURLString(t *testing.T) {
},
Expected: "8080--agent--workspace--user",
},
{
Name: "LongAppName",
URL: httpapi.ApplicationURL{
AppSlugOrPort: "0123456789012345678901234567890123456789",
AgentName: "agent",
WorkspaceName: "workspace",
Username: "user",
},
Expected: "app-90667f72",
},
}
for _, c := range testCases {

View File

@ -1353,7 +1353,7 @@ func Run(t *testing.T, appHostIsPrimary bool, factory DeploymentFactory) {
}, testutil.WaitLong, testutil.IntervalFast, "stats not reported")
assert.Equal(t, workspaceapps.AccessMethodPath, stats[0].AccessMethod)
assert.Equal(t, proxyTestAppNameOwner, stats[0].SlugOrPort)
assert.Equal(t, "test-app-owner", stats[0].SlugOrPort)
assert.Equal(t, 1, stats[0].Requests)
})
}

View File

@ -32,10 +32,10 @@ import (
const (
proxyTestAgentName = "agent-name"
proxyTestAppNameFake = "taf"
proxyTestAppNameOwner = "tao"
proxyTestAppNameAuthenticated = "taa"
proxyTestAppNamePublic = "tap"
proxyTestAppNameFake = "test-app-fake"
proxyTestAppNameOwner = "test-app-owner"
proxyTestAppNameAuthenticated = "test-app-authenticated"
proxyTestAppNamePublic = "test-app-public"
proxyTestAppQuery = "query=true"
proxyTestAppBody = "hello world from apps test"