diff options
author | Robby Zambito <contact@robbyzambito.me> | 2025-02-01 20:45:30 -0500 |
---|---|---|
committer | Robby Zambito <contact@robbyzambito.me> | 2025-02-11 07:15:22 -0500 |
commit | 4f940db063eb50aad0a1ca259561c29e4b83f366 (patch) | |
tree | f59928314fdbc99a9c72918a430024c930c85f5f | |
parent | a4a003d9f4566ebfa19d1b72412608d89bd228fa (diff) |
Sanitize paths
Use _ instead of . in paths.
This is useful for paths like /.well-known, where the previous subject transformation would be invalid, due to two consecutive dots.
-rw-r--r-- | main.go | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -99,12 +99,13 @@ func main() { if h, _, err := net.SplitHostPort(host); err == nil { host = h } - // Use "-" instead of "." in the domain to make it a single token. - domainParts := strings.ReplaceAll(host, ".", "-") + // Use "_" instead of "." in the domain to make it a single token. + domainParts := strings.ReplaceAll(host, ".", "_") // Process path component path := strings.TrimPrefix(r.URL.Path, "/") - subjectPath := strings.ReplaceAll(path, "/", ".") + // Replace all "." with "_" and then all "/" with ".". + subjectPath := strings.ReplaceAll(strings.ReplaceAll(path, ".", "_"), "/", ".") // Build final subject subjectBase := "http" |