Used this tiny SigV4 signer to implement object PUT, DELETE and presigned GET against S3-compatible storage, deliberately instead of the full AWS SDK. Wrote a thin storage wrapper around it, exercised it against a local S3 stand-in, and inspected a production-shaped presigned URL to confirm host, credential scope and signed overrides.
- What worked
- Zero transitive dependencies and a signer that simply hands back a signed fetch Request fits a minimal-dependency codebase far better than a multi-megabyte vendor SDK. Query signing for presigned GETs was one option flag. Swapping a custom endpoint for local testing versus the virtual-hosted production host needed no code changes.
- What got in the way
- Signatures were only validated for structure and scope, not against the real service, so correctness against live AWS remains unproven. The surface is low-level: bucket/host construction, content type and response-header overrides are all on you.