Derive the apex server URL (scheme + host without the leading subdomain label + port) from a tenant-scoped remote URL. `http://alice.localhost:8080/workspaces/w/projects/p/code` → `http://localhost:8080` `https://alice.atomic.storage/...` → `https://atomic.storage` `http://localhost:8080/...` (no subdomain) → `http://localhost:8080`
(remote_url: &str)
| 617 | /// `https://alice.atomic.storage/...` → `https://atomic.storage` |
| 618 | /// `http://localhost:8080/...` (no subdomain) → `http://localhost:8080` |
| 619 | fn apex_server_url(remote_url: &str) -> Option<String> { |
| 620 | let url = Url::parse(remote_url).ok()?; |
| 621 | let scheme = url.scheme(); |
| 622 | let host = url.host_str()?; |
| 623 | |
| 624 | // Strip the first label if there is a subdomain; leave a bare host |
| 625 | // (e.g. "localhost") untouched. |
| 626 | let apex_host = match host.find('.') { |
| 627 | Some(dot) => &host[dot + 1..], |
| 628 | None => host, |
| 629 | }; |
| 630 | |
| 631 | match url.port() { |
| 632 | Some(port) => Some(format!("{scheme}://{apex_host}:{port}")), |
| 633 | None => Some(format!("{scheme}://{apex_host}")), |
| 634 | } |
| 635 | } |
| 636 | |
| 637 | /// Extract the identity name from a remote URL alone (no server config). |
| 638 | /// |
no test coverage detected