i'd send custom error types lambda function. how can control shows in errortype property error gets returned api gateway?
var err = new error('foo'); context.fail(err); returns
{ "errormessage": "foo", "errortype": "error", "stacktrace": [ "exports.handler (/var/task/index.js:11:19)" ] } i'd manipulate errortype in response can "invalidparam".
the returned errortype represents 'name' property set on error.
so following code:
var error = new error('its error!'); error.name = 'thename'; context.fail(error); results in following response lambda api gateway:
{ "errormessage": "its error!", "errortype": "thename", "stacktrace": [ "exports.handler (/var/task/index.js:10:21)" ] } unfortunately, seems api gateway matches error regex 'errormessage' property. @ least based on attempts , i've read so-far. setting error type won't if trying map status codes. (as mentioned in comments)
one way little bit of both worlds "tostring()" error when calling context.fail. format error message "[name]:[error message]".
you can match api gateway error regex specific error "name" property.
so calling:
var error = new error('its error!'); error.name = 'thename'; context.fail(error.tostring()); when api gateway regex mapped status 500:
thename.* results in following status 500 api gateway response:
{ "errormessage": "thename: error!" }
Comments
Post a Comment