1.1.16 • Published 7 years ago

fel v1.1.16

Weekly downloads
492
License
MIT
Repository
github
Last release
7 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

7 years ago

1.1.15

7 years ago

1.1.14

7 years ago

1.1.13

9 years ago

1.1.12

9 years ago

1.1.11

9 years ago

1.1.10

9 years ago

1.1.9

9 years ago

1.1.8

9 years ago

1.1.7

9 years ago

1.1.6

10 years ago

1.1.5

10 years ago

1.1.4

10 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.0

10 years ago