mirror of
https://github.com/fsouza/fake-gcs-server.git
synced 2026-04-26 14:15:49 +03:00
[GH-ISSUE #2102] Object metadata not preserved (Cache-Control, Content-Encoding, Content-Disposition, custom metadata) #252
Labels
No labels
bug
compatibility-issue
docker
documentation
enhancement
help wanted
needs information
pull-request
question
stale
unfortunate
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/fake-gcs-server#252
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @louisnow on GitHub (Jan 3, 2026).
Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/2102
Object metadata set during upload is lost and returns
nullwhen retrieving objects. This happens for both simple uploads and multipart uploads.What's broken
When uploading with metadata like:
All these values come back as
nullon subsequent GET requests.Why this matters for us
We're using fake-gcs-server to test S3Proxy's new native GCS SDK backend (
google-cloud-storage-sdk). S3Proxy translates S3 API calls to GCS, so we need metadata to round-trip correctly.Without this, we can't verify that:
Cache-Controlheaders survive the S3 -> GCS -> S3 translationInitiateMultipartUploadContent-Dispositionfor downloads works correctlyx-amz-meta-*) maps to GCS metadata properlyWe've had to skip these assertions in our test suite when running against fake-gcs-server, which means less confidence in local testing before hitting real GCS.
Tested with
fsouza/fake-gcs-server:latestwith-scheme httpon port 4443All these tests pass against real GCS, so the issue is specific to fake-gcs-server.
@louisnow commented on GitHub (Jan 3, 2026):
@fsouza I've made a fix for it using claude code. I've reviewed it and what the AI has produced is similar to what I would have written but slower and only half as comprehensive
https://github.com/fsouza/fake-gcs-server/pull/2103