Problem
i.iili.uk Caddy forwards GET and HEAD /r/{slug} to r3dr_v2 (rewrite → /r3dr/v2/r/{slug}). The model only registers @http(method: "GET", …). smithy-cpp's router does exact method-bucket dispatch with no HEAD→GET fallback, so:
curl -I https://i.iili.uk/r/<slug>
# → 405 Method Not Allowed, Allow: GET
# no Location
Unfurlers and probes that lead with HEAD never see the redirect. Surfaced on #1432.
Expected
HEAD should get the same status and Location as GET (body empty), matching common redirect/unfurl behavior.
Options
- Register HEAD on the Redirect operation (or router HEAD→GET for redirect routes).
- Caddy-side map HEAD→GET before proxy (workaround; prefer fixing the service).
A Send("HEAD", …) wire/contract test should pin the 302 + Location once fixed.
Related
Problem
i.iili.ukCaddy forwardsGETandHEAD/r/{slug}tor3dr_v2(rewrite →/r3dr/v2/r/{slug}). The model only registers@http(method: "GET", …). smithy-cpp's router does exact method-bucket dispatch with no HEAD→GET fallback, so:Unfurlers and probes that lead with HEAD never see the redirect. Surfaced on #1432.
Expected
HEADshould get the same status andLocationasGET(body empty), matching common redirect/unfurl behavior.Options
A
Send("HEAD", …)wire/contract test should pin the 302 + Location once fixed.Related
i.iili.ukCaddy site already forwards HEAD)routes_.find(request.method)