0.1.12 • Published 9 years ago

mini-rest-errors v0.1.12

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

npm version Build Status Coverage Status Code Climate Inch CI

Dependency Status devDependency Status

mini-rest-errors

Error objects for mini-rest project

If you have different needs regarding the functionality, please add a feature request.

Installation

npm install --save mini-rest-errors

Usage

HTTPError

Inherits Error

Constructor HTTPError = new (status, message)

  • status {Number} - HTTP Status Code (see appErrors section)
  • message {String} - Error message to override default HTTP Error Message based on status code value (according to http.STATUS_CODES) (optional)

Properties

  • status - HTTP status code as set in constructor
  • message - HTTP error message as set in constructor or defined in http.STATUS_CODES
  • stack - Error stack inherited from Error

AppError

Inherits HTTPError

Constructor AppError = new(code, details)

  • code {String} - Error code (see appErrors section)
  • details {String} - Error details (optional)

  • code - Error code as set in constructor

  • status - HTTP status code as defined in appErrors
  • message - Error message as defined in appErrors
  • details - Error details as set in constructor
  • stack - Error stack inherited from Error

exported

constructError

Example

examples/index.js

/**
 * Created by alykoshin on 08.03.16.
 */

'use strict';

var appErrors = require('../').appErrors;
var AppError = require('../').AppError;
var HTTPError = require('../').HTTPError;

console.log('\n* HTTPError Example 1\n');

var httpError = new HTTPError(400);
console.log('httpError:', httpError);
console.log('httpError.stack:', httpError.stack);

console.log('\n* HTTPError Example 2\n');

var httpError = new HTTPError(400, 'This message overrides default');
console.log('httpError:', httpError);
console.log('httpError.stack:', httpError.stack);

console.log('\n* AppError Example 1\n');

var appError = new AppError('notImplemented');
console.log('appError:', appError);
console.log('appError.stack:', appError.stack);

console.log('\n* AppError Example 2\n');

var appError = new AppError('notImplemented', 'more data');
console.log('appError:', appError);
console.log('appError.stack:', appError.stack);

console.log('\n* AppError Example 3\n');

appErrors.newAppError = {
  status: 500,
  message: 'newAppError Message'
};

var appError = new AppError('newAppError', 'more data');
console.log('appError:', appError);
console.log('appError.stack:', appError.stack);
$ node examples/index.js 
* HTTPError Example 1

httpError: { [HTTPError: Bad Request] status: 400, message: 'Bad Request' }
httpError.stack: HTTPError: Bad Request
    at Object.<anonymous> (<...>/mini-rest-errors/examples/index.js:13:17)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:139:18)
    at node.js:999:3

* HTTPError Example 2

httpError: { [HTTPError: This message overrides default] status: 400, message: 'This message overrides default' }
httpError.stack: HTTPError: This message overrides default
    at Object.<anonymous> (<...>/mini-rest-errors/examples/index.js:19:17)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:139:18)
    at node.js:999:3

* AppError Example 1

appError: { [AppError: Internal Server Error]
  details: '',
  code: 'notImplemented',
  status: 500,
  message: 'Internal Server Error' }
appError.stack: AppError: Internal Server Error
    at Object.<anonymous> (<...>/mini-rest-errors/examples/index.js:25:16)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:139:18)
    at node.js:999:3

* AppError Example 2

appError: { [AppError: Internal Server Error]
  details: 'more data',
  code: 'notImplemented',
  status: 500,
  message: 'Internal Server Error' }
appError.stack: AppError: Internal Server Error
    at Object.<anonymous> (<...>/mini-rest-errors/examples/index.js:31:16)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:139:18)
    at node.js:999:3

* AppError Example 3

appError: { [AppError: newAppError Message]
  details: 'more data',
  code: 'newAppError',
  status: 500,
  message: 'newAppError Message' }
appError.stack: AppError: newAppError Message
    at Object.<anonymous> (<...>/mini-rest-errors/examples/index.js:42:16)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Function.Module.runMain (module.js:447:10)
    at startup (node.js:139:18)
    at node.js:999:3

Predefined appErrors

{
  'notImplemented': {
    status:  500,
    // use default message
  },
  'unknownError': {
    status:  500,
    // use default message
  },
  'badRequest': {        // Invalid request from client / external entity
    status: 400,
  },
  'pageNotFound': {
    status:  404,
    // use default message
  }
}  

Credits

Alexander

Links to package pages:

github.com   npmjs.com   travis-ci.org   coveralls.io   inch-ci.org

License

MIT

0.1.12

9 years ago

0.1.11

9 years ago

0.1.10

9 years ago

0.1.9

9 years ago

0.1.8

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago

0.0.0

10 years ago