summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/fetch-error.js
blob: 338e1e2729152e5d620825ec70d997e1a09fc532 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
'use strict'

/**
 * fetch-error.js
 *
 * FetchError interface for operational errors
 */

/**
 * Create FetchError instance
 *
 * @param   String      message      Error message for human
 * @param   String      type         Error type for machine
 * @param   String      systemError  For Node.js system error
 * @return  FetchError
 */
module.exports = FetchError
function FetchError (message, type, systemError) {
  Error.call(this, message)

  this.message = message
  this.type = type

  // when err.type is `system`, err.code contains system error code
  if (systemError) {
    this.code = this.errno = systemError.code
  }

  // hide custom error implementation details from end-users
  Error.captureStackTrace(this, this.constructor)
}

FetchError.prototype = Object.create(Error.prototype)
FetchError.prototype.constructor = FetchError
FetchError.prototype.name = 'FetchError'