Files
seaweedFS/weed
Chris Lu ebb4f57cc7 s3api: Fix response-content-disposition query parameter not being honored (#7559)
* s3api: Fix response-content-disposition query parameter not being honored

Fixes #7486

This fix resolves an issue where S3 presigned URLs with query parameters
like `response-content-disposition`, `response-content-type`, etc. were
being ignored, causing browsers to use default file handling instead of
the specified behavior.

Changes:
- Modified `setResponseHeaders()` to accept the HTTP request object
- Added logic to process S3 passthrough headers from query parameters
- Updated all call sites to pass the request object
- Supports all AWS S3 response override parameters:
  - response-content-disposition
  - response-content-type
  - response-cache-control
  - response-content-encoding
  - response-content-language
  - response-expires

The implementation follows the same pattern used in the filer handler
and properly honors the AWS S3 API specification for presigned URLs.

Testing:
- Existing S3 API tests pass without modification
- Build succeeds with no compilation errors

* Update weed/s3api/s3api_object_handlers.go

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-26 17:17:02 -08:00
..
2025-11-04 22:17:21 -08:00
2025-10-13 18:05:17 -07:00
2025-11-12 22:14:50 -08:00
2024-06-25 09:18:11 -07:00
2025-08-30 11:15:48 -07:00
2024-02-14 08:26:38 -08:00
2025-10-27 23:04:55 -07:00
2025-07-19 21:43:34 -07:00
2025-03-17 23:13:27 -07:00