Spaces:
Running
Running
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) { | |
super(`Timeout connecting to host \`${host}\``) | |
this.code = 'ECONNECTIONTIMEOUT' | |
this.host = host | |
} | |
} | |
class IdleTimeoutError extends Error { | |
constructor (host) { | |
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, | |
} | |