Re: [PATCH] http-backend: provide Allow header for 405
- From
Jeff King <peff@peff.net>
- Date
- Sep 10, 2013, 06:24 UTC
- Message-ID
- <20130910062359.GA19638@sigill.intra.peff.net>
- In-Reply-To
- <1378664106-95936-1-git-send-email-sandals@crustytoothpaste.net>
On Sun, Sep 08, 2013 at 06:15:06PM +0000, brian m. carlson wrote:
Show 6 quoted lines
> The HTTP 1.1 standard requires an Allow header for 405 Method Not Allowed: > > The response MUST include an Allow header containing a list of valid methods > for the requested resource. > > So provide such a header when we return a 405 to the user agent.
Makes sense.
Show 8 quoted lines
> if (strcmp(method, c->method)) {
> const char *proto = getenv("SERVER_PROTOCOL");
> - if (proto && !strcmp(proto, "HTTP/1.1"))
> + if (proto && !strcmp(proto, "HTTP/1.1")) {
> http_status(405, "Method Not Allowed");
> + hdr_str("Allow", !strcmp("GET", c->method) ?
> + "GET, HEAD" : c->method);
> + }It took me a minute to figure out what is going on here. But we seem to convert HEAD requests into GETs elsewhere, so any "GET" service should be able to do either.
Looks OK to me.
-Peff