|
3 | 3 | /** |
4 | 4 | * Module dependencies. |
5 | 5 | */ |
6 | | -const util = require('util'); |
7 | 6 | const http = require('http'); |
8 | 7 | /** |
9 | 8 | * Constructor. |
10 | 9 | */ |
11 | 10 |
|
12 | | -function OAuthError(messageOrError, properties) { |
13 | | - let message = messageOrError instanceof Error ? messageOrError.message : messageOrError; |
14 | | - const error = messageOrError instanceof Error ? messageOrError : null; |
15 | | - if (properties == null || !Object.entries(properties).length ) { |
16 | | - properties = {}; |
17 | | - } |
| 11 | +class OAuthError extends Error { |
| 12 | + constructor(messageOrError, properties) { |
| 13 | + super(messageOrError, properties); |
18 | 14 |
|
19 | | - properties = Object.assign({ code: 500 }, properties); |
| 15 | + let message = messageOrError instanceof Error ? messageOrError.message : messageOrError; |
| 16 | + const error = messageOrError instanceof Error ? messageOrError : null; |
20 | 17 |
|
21 | | - if (error) { |
22 | | - properties.inner = error; |
23 | | - } |
24 | | - if (!message || message.length === 0) { |
25 | | - message = http.STATUS_CODES[properties.code]; |
26 | | - } |
27 | | - this.code = this.status = this.statusCode = properties.code; |
28 | | - this.message = message; |
29 | | - for (const key in properties) { |
30 | | - if (key !== 'code') { |
31 | | - this[key] = properties[key]; |
| 18 | + if (properties == null || !Object.entries(properties).length) { |
| 19 | + properties = {}; |
| 20 | + } |
| 21 | + |
| 22 | + properties = { code: 500, ...properties }; |
| 23 | + |
| 24 | + if (error) { |
| 25 | + properties.inner = error; |
| 26 | + } |
| 27 | + |
| 28 | + if (!message || message.length === 0) { |
| 29 | + message = http.STATUS_CODES[properties.code]; |
| 30 | + } |
| 31 | + |
| 32 | + this.code = this.status = this.statusCode = properties.code; |
| 33 | + this.message = message; |
| 34 | + |
| 35 | + for (const key in properties) { |
| 36 | + if (key !== 'code') { |
| 37 | + this[key] = properties[key]; |
| 38 | + } |
32 | 39 | } |
33 | 40 | } |
34 | | - Error.captureStackTrace(this, OAuthError); |
35 | 41 | } |
36 | 42 |
|
37 | | -util.inherits(OAuthError, Error); |
38 | | - |
39 | 43 | /** |
40 | 44 | * Export constructor. |
41 | 45 | */ |
|
0 commit comments