mirror of
https://github.com/pelican-dev/panel.git
synced 2026-03-01 11:21:31 +03:00
Some S3-compatible providers (e.g., Hetzner) require presigned requests. Previously only GetObject and UploadPart were presigned; the remaining operations (CreateMultipartUpload, ListParts, CompleteMultipartUpload, AbortMultipartUpload, DeleteObject) used header-based auth. This adds an executeS3Command() method to S3Filesystem that sends all commands via presigned URLs with manual XML response parsing, giving universal compatibility with all S3-compatible providers.