(raw string)
| 207 | } |
| 208 | |
| 209 | func normalizeOrigin(raw string) string { |
| 210 | parsed, err := url.Parse(strings.TrimSpace(raw)) |
| 211 | if err != nil || parsed.Scheme == "" || parsed.Host == "" { |
| 212 | return "" |
| 213 | } |
| 214 | return fmt.Sprintf("%s://%s", strings.ToLower(parsed.Scheme), strings.ToLower(parsed.Host)) |
| 215 | } |
| 216 | |
| 217 | // peerIsTrustedProxy reports whether the immediate TCP peer (r.RemoteAddr) |
| 218 | // is in the configured ZENNOTES_TRUSTED_PROXIES set. Forwarded-* headers |