origin property
String
get
origin
Gets origin (for CORS).
Implementation
String get origin {
// Prefer explicit Origin header when present (browser CORS requests)
final headerOrigin = _raw.headers.value('origin');
if (headerOrigin != null && headerOrigin.isNotEmpty) return headerOrigin;
// Use requestedUri origin when URI contains scheme and host
final requested = _raw.requestedUri;
if (requested.hasScheme && requested.host.isNotEmpty) {
try {
return requested.origin;
} catch (_) {
// ignore and fallthrough to header-based fallback
}
}
// Fallback: infer from common proxy headers or host header
final proto = _raw.headers.value('x-forwarded-proto') ?? 'http';
final host = _raw.headers.value('host') ?? requested.host;
if (host.isNotEmpty) return '$proto://$host';
return requested.origin;
}