tidy url handling

Kim committed Nov 19, 2025 at 11:45 UTC f80eedf1360b86ecf051f67101406a1ab220dab9
4 files changed +12 -4
cmd/relay-server/main.go
-1
@@ -54,7 +54,6 @@ func main() {
54 flag.Parse()
55
56 flagBootstraps = sdk.ParseURLs(flagBootstrapsCSV)
57 - flagPortalSubdomainURL = sdk.StripScheme(flagPortalSubdomainURL)
57 if err := runServer(); err != nil {
58 log.Fatal().Err(err).Msg("execute root command")
59 }
cmd/relay-server/serve.go
+1 -1
@@ -390,7 +390,7 @@ func serveStaticFileWithFallback(w http.ResponseWriter, r *http.Request, filePat
390 }
391
392 // serveDynamicManifest generates and serves manifest.json dynamically
393 -func serveDynamicManifest(w http.ResponseWriter, r *http.Request) {
393 +func serveDynamicManifest(w http.ResponseWriter, _ *http.Request) {
394 sdk.SetCORSHeaders(w)
395
396 // Find the content-addressed WASM file
cmd/relay-server/view.go
+5 -2
@@ -267,8 +267,11 @@ func convertLeaseEntriesToRows(serv *portal.RelayServer) []leaseRow {
267 }
268
269 // Build link using the configured subdomain base
270 - subdomainBase := strings.TrimPrefix(sdk.StripScheme(flagPortalSubdomainURL), "*.")
271 - link := fmt.Sprintf("//%s.%s/", lease.Name, subdomainBase)
270 + base := flagPortalSubdomainURL
271 + if base == "" {
272 + base = flagPortalURL
273 + }
274 + link := fmt.Sprintf("//%s.%s/", lease.Name, sdk.StripWildCard(sdk.StripScheme(base)))
275
276 row := leaseRow{
277 Peer: identityID,
sdk/utils.go
+6
@@ -243,6 +243,12 @@ func StripScheme(s string) string {
243 return s
244 }
245
246 +func StripWildCard(s string) string {
247 + s = strings.TrimSpace(s)
248 + s = strings.TrimPrefix(s, "*.")
249 + return s
250 +}
251 +
252 func StripPort(s string) string {
253 if s == "" {
254 return s