mirror of
https://github.com/nodejs/node.git
synced 2025-08-18 15:18:46 +02:00

PR-URL: https://github.com/nodejs/node/pull/49423 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Debadree Chatterjee <debadree333@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Ruy Adorno <ruyadorno@google.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
65 lines
1.5 KiB
JavaScript
65 lines
1.5 KiB
JavaScript
'use strict'
|
|
|
|
const { appendPort } = require('./util')
|
|
|
|
class InvalidProxyProtocolError extends Error {
|
|
constructor (url) {
|
|
super(`Invalid protocol \`${url.protocol}\` connecting to proxy \`${url.host}\``)
|
|
this.code = 'EINVALIDPROXY'
|
|
this.proxy = url
|
|
}
|
|
}
|
|
|
|
class ConnectionTimeoutError extends Error {
|
|
constructor ({ host, port }) {
|
|
host = appendPort(host, port)
|
|
super(`Timeout connecting to host \`${host}\``)
|
|
this.code = 'ECONNECTIONTIMEOUT'
|
|
this.host = host
|
|
}
|
|
}
|
|
|
|
class IdleTimeoutError extends Error {
|
|
constructor ({ host, port }) {
|
|
host = appendPort(host, port)
|
|
super(`Idle timeout reached for host \`${host}\``)
|
|
this.code = 'EIDLETIMEOUT'
|
|
this.host = host
|
|
}
|
|
}
|
|
|
|
class ResponseTimeoutError extends Error {
|
|
constructor (request, proxy) {
|
|
let msg = 'Response timeout '
|
|
if (proxy) {
|
|
msg += `from proxy \`${proxy.host}\` `
|
|
}
|
|
msg += `connecting to host \`${request.host}\``
|
|
super(msg)
|
|
this.code = 'ERESPONSETIMEOUT'
|
|
this.proxy = proxy
|
|
this.request = request
|
|
}
|
|
}
|
|
|
|
class TransferTimeoutError extends Error {
|
|
constructor (request, proxy) {
|
|
let msg = 'Transfer timeout '
|
|
if (proxy) {
|
|
msg += `from proxy \`${proxy.host}\` `
|
|
}
|
|
msg += `for \`${request.host}\``
|
|
super(msg)
|
|
this.code = 'ETRANSFERTIMEOUT'
|
|
this.proxy = proxy
|
|
this.request = request
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
InvalidProxyProtocolError,
|
|
ConnectionTimeoutError,
|
|
IdleTimeoutError,
|
|
ResponseTimeoutError,
|
|
TransferTimeoutError,
|
|
}
|