diff --git a/README.md b/README.md index 3d9d99a..d1a7073 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,7 @@ Below is the list of all available errors: | ForbiddenError | 403 | Forbidden | | GoneError | 410 | Gone | | NotFoundError | 404 | Not Found | +| NotImplementedError | 501 | Not Implemented | ServiceUnavailableError | 503 | Service Unavailable | | TooManyRequestsError | 429 | Too Many Requests | | UnauthorizedError | 401 | Unauthorized | diff --git a/src/errors/not-implemented-error.js b/src/errors/not-implemented-error.js new file mode 100644 index 0000000..40f4e04 --- /dev/null +++ b/src/errors/not-implemented-error.js @@ -0,0 +1,21 @@ +'use strict'; + +/** + * Module dependencies. + */ + +const HttpError = require('./http-error'); + +/** + * Export "Not Implemented" error. + */ + +module.exports = class NotImplementedError extends HttpError { + /** + * Constructor. + */ + + constructor() { + super(501, ...arguments); + } +}; diff --git a/src/index.js b/src/index.js index 10e9f84..40b9bea 100644 --- a/src/index.js +++ b/src/index.js @@ -12,6 +12,7 @@ module.exports = { GoneError: require('./errors/gone-error'), HttpError: require('./errors/http-error'), NotFoundError: require('./errors/not-found-error'), + NotImplementedError: require('./errors/not-implemented-error'), ServiceUnavailableError: require('./errors/service-unavailable-error'), TooManyRequestsError: require('./errors/too-many-requests-error'), UnauthorizedError: require('./errors/unauthorized-error'), diff --git a/test/errors/not-implemented-error_test.js b/test/errors/not-implemented-error_test.js new file mode 100644 index 0000000..aef6889 --- /dev/null +++ b/test/errors/not-implemented-error_test.js @@ -0,0 +1,16 @@ +'use strict'; + +/** + * Module dependencies. + */ + +const { NotImplementedError } = require('../../src'); +const test = require('../utils/test-http-error'); + +/** + * Test "Not Implemented" error. + */ + +describe('NotImplementedError', () => { + test(NotImplementedError, 501, 'Not Implemented', false); +}); diff --git a/types/errors/not-implemented-error.d.ts b/types/errors/not-implemented-error.d.ts new file mode 100644 index 0000000..2fefcf6 --- /dev/null +++ b/types/errors/not-implemented-error.d.ts @@ -0,0 +1,5 @@ +import { HttpError } from './http-error'; +export declare class NotImplementedError extends HttpError { + constructor(message?: string, props?: object); + constructor(props?: object); +} diff --git a/types/index.d.ts b/types/index.d.ts index 8dd55a8..7a0829f 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -5,6 +5,7 @@ export * from './errors/forbidden-error'; export * from './errors/gone-error'; export * from './errors/http-error'; export * from './errors/not-found-error'; +export * from './errors/not-implemented-error'; export * from './errors/service-unavailable-error'; export * from './errors/too-many-requests-error'; export * from './errors/unauthorized-error';