All checks were successful
check / check (push) Successful in 1m46s
Move HMAC-SHA256 request signing out of internal/imgcache/ into its own internal/signature/ package, per the plan in issue #39. This is one of the remaining "easily separable" extractions; only the signer is moved here so the diff stays reviewable. What moved (from internal/imgcache/signature.go): - Signer type, its New constructor, Sign, Verify, GenerateSignedURL - ParseParams (query-string signature/expiration parsing) - Signature error sentinels To keep the import edge one-way (imgcache depends on signature, never the reverse), the package defines a standalone Request type carrying just the fields the signature covers, instead of importing imgcache.ImageRequest. imgcache projects its ImageRequest onto signature.Request via a small unexported helper. Renames (no stuttering): - NewSigner -> signature.New - ParseSignatureParams -> signature.ParseParams - ErrSignatureRequired/Invalid/Expired -> signature.ErrRequired/Invalid/Expired The "non-whitelisted host" error message is updated to "non-allowlisted" for inclusive terminology, consistent with the allowlist rename. Pure refactor. The bytes fed to the HMAC are unchanged, so signatures remain compatible. All existing tests move with the package; docker build passes (fmt-check, lint, test, build). refs #39
14 KiB
14 KiB