lambda-api
lambda-api copied to clipboard
feature - add Allow HTTP header to response for status code 405
When lambda-api can not find a method for a path, it automatically sends back a HTTP 405 Method Not Allowed error, via MethodError. Per the HTTP rfc 7231, the Allow header must be sent back with the 405 response. I purpose adding this to lambda-api. I believe it can introspect and get the allowed methods, correct?
Thanks!
I can try to create a patch for this, if you just can point me in the right direction.
All I did was add the following line to requests.js, line 247:
this.app._headers.allow = Object.keys(routes['METHODS']).join(',') || ''
So the whole else block looks like this now:
this.app._errorStatus = 405
this.app._headers.allow = Object.keys(routes['METHODS']).join(',') || ''
throw new MethodError('Method not allowed',this.method,'/'+path.join('/'))
I am not sure if that's the best approach or not. I can whip up a patch file, or do a pull request if that is more convenient for you.