diff options
Diffstat (limited to 'weed/s3api/s3_constants/header.go')
| -rw-r--r-- | weed/s3api/s3_constants/header.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/weed/s3api/s3_constants/header.go b/weed/s3api/s3_constants/header.go index 86863f257..82a270111 100644 --- a/weed/s3api/s3_constants/header.go +++ b/weed/s3api/s3_constants/header.go @@ -94,6 +94,9 @@ const ( AmzEncryptedDataKey = "x-amz-encrypted-data-key" AmzEncryptionContextMeta = "x-amz-encryption-context" + // SeaweedFS internal metadata prefix (used to filter internal headers from client responses) + SeaweedFSInternalPrefix = "x-seaweedfs-" + // SeaweedFS internal metadata keys for encryption (prefixed to avoid automatic HTTP header conversion) SeaweedFSSSEKMSKey = "x-seaweedfs-sse-kms-key" // Key for storing serialized SSE-KMS metadata SeaweedFSSSES3Key = "x-seaweedfs-sse-s3-key" // Key for storing serialized SSE-S3 metadata @@ -157,3 +160,10 @@ var PassThroughHeaders = map[string]string{ "response-content-type": "Content-Type", "response-expires": "Expires", } + +// IsSeaweedFSInternalHeader checks if a header key is a SeaweedFS internal header +// that should be filtered from client responses. +// Header names are case-insensitive in HTTP, so this function normalizes to lowercase. +func IsSeaweedFSInternalHeader(headerKey string) bool { + return strings.HasPrefix(strings.ToLower(headerKey), SeaweedFSInternalPrefix) +} |
