amazon web services - AWS Lambda: how to set the error type? -


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