Files
CLIProxyAPI/internal/runtime/executor/helps/claude_upstream.go
sususu a5f63909a5 fix(claude): harden request lifecycle
Classify malformed caller metadata and Fast failures as request-scoped, reuse the strict Anthropic origin gate, bound diagnostics and proxy caches, and remove the unrelated translator test change.
2026-08-03 14:47:26 +08:00

18 lines
544 B
Go

package helps
import (
"net/url"
"strings"
)
// IsAnthropicUpstreamURL reports whether a resolved request targets Anthropic's
// first-party API origin. Claude-specific body, header, HTTP, and TLS behavior
// must all use this gate so they cannot drift onto custom ports or userinfo URLs.
func IsAnthropicUpstreamURL(u *url.URL) bool {
if u == nil || u.User != nil || !strings.EqualFold(u.Scheme, "https") || !strings.EqualFold(u.Hostname(), "api.anthropic.com") {
return false
}
port := u.Port()
return port == "" || port == "443"
}