micro-boom
Wraps errors in micro
services Boom
errors.
Example Responses
Installation
npm install --save micro-boom
Or even better
yarn add micro-boom
Import and Usage Example
const handleErrors createError = moduleexports =
API
handleErrors
Catches error from an async function, wraps them in a Boom error object and generates a JSON response.
The status code of an error is determined by three factors, in order:
- Status code is set to
err.output.statusCode
- If not set, error is inferred from
res.statusCode
- Default to HTTP 500 (also defaults to HTTP 500 if status is < 400)
🚨 TAKE NOTE 🚨
All HTTP 500 errors have their user provided message removed for security reasons.
Parameters
fn
Function Async function, your normalmicro
logic.dump
Boolean Optional. Dumpserr.stack
tostderr
if true
Examples
const handleErrors = // Returns HTTP 500moduleexports =
const handleErrors = // Returns HTTP 401moduleexports =
Returns an async Function.
createError
Alias for Boom#create(statusCode, [message], [data])
.
Parameters
statusCode
Number HTTP status code, must be >= 400message
String An optional error message.data
[Any] Some optional error metadata, serialized withJSON.stringify
.
Examples
const handleErrors createError = // Message defaults to what corresponds to the HTTP error codemoduleexports =
const handleErrors createError = // HTTP 401: Unauthorizedmoduleexports =
const handleErrors createError = // HTTP 401: Unauthorized with metadata,// set in `.data` of the response.moduleexports =
Returns an async Function.