1.1.16 • Published 6 years ago

fel v1.1.16

Weekly downloads
492
License
MIT
Repository
github
Last release
6 years ago

fel

Greenkeeper badge

Exports the createError function that creates an error.

The error has a unique id and a reference to the cause, this is to facilitate with logging.

createError uses boom.wrap to decorate the error with boom properties.

createError takes the following optional params:

  • code HTTP status code >= 400. Defaults to 500.
  • message Error message. Defaults to the default message for code.
  • cause The cause of the error.
  • root_error_id Id of the root cause. Defaults to cause.root_error_id || error_id.
  • stack_from Function to start stack trace from. Defaults to createError.

The created error has the following properties added to it:

  • code HTTP status code
  • message Error message
  • cause The cause
  • error_id A unique id string
  • root_error_id A unique id string
  • output See boom
  • details if cause is a joi error then the details array is copied. It is also added to output.payload.

Example:

import { createError } from 'fel';

let error = createError();
// error.code == 500
// error.message == 'Internal Server Error'
// error.error_id == (unique id string)
// error.root_error_id == (unique id string)

createError({ code: 400 });
createError({ code: 400, message: 'cannot process the request' });

function readJsonFile(filename, callback) {
  fs.readFile(filename, { encoding: 'utf8' }, (err, str) => {
    if (err) {
      return callback(createError({ cause: err, message: 'Unable to read the file' }));
    }
    let obj;
    try {
      obj = JSON.parse(str);
    }
    catch (json_err) {
      return callback(createError({ cause: json_err, message: 'Unable to parse the file' }));
    }
    callback(null, obj);
  });
}
1.1.16

6 years ago

1.1.15

6 years ago

1.1.14

6 years ago

1.1.13

8 years ago

1.1.12

8 years ago

1.1.11

8 years ago

1.1.10

8 years ago

1.1.9

8 years ago

1.1.8

8 years ago

1.1.7

8 years ago

1.1.6

8 years ago

1.1.5

8 years ago

1.1.4

8 years ago

1.1.3

8 years ago

1.1.2

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.0

9 years ago