You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.9 KiB
128 lines
3.9 KiB
import { stringify } from '../utils/stringify.js';
|
|
import { BaseError } from './base.js';
|
|
import { getUrl } from './utils.js';
|
|
export class HttpRequestError extends BaseError {
|
|
constructor({ body, cause, details, headers, status, url, }) {
|
|
super('HTTP request failed.', {
|
|
cause,
|
|
details,
|
|
metaMessages: [
|
|
status && `Status: ${status}`,
|
|
`URL: ${getUrl(url)}`,
|
|
body && `Request body: ${stringify(body)}`,
|
|
].filter(Boolean),
|
|
name: 'HttpRequestError',
|
|
});
|
|
Object.defineProperty(this, "body", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
Object.defineProperty(this, "headers", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
Object.defineProperty(this, "status", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
Object.defineProperty(this, "url", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
this.body = body;
|
|
this.headers = headers;
|
|
this.status = status;
|
|
this.url = url;
|
|
}
|
|
}
|
|
export class WebSocketRequestError extends BaseError {
|
|
constructor({ body, cause, details, url, }) {
|
|
super('WebSocket request failed.', {
|
|
cause,
|
|
details,
|
|
metaMessages: [
|
|
`URL: ${getUrl(url)}`,
|
|
body && `Request body: ${stringify(body)}`,
|
|
].filter(Boolean),
|
|
name: 'WebSocketRequestError',
|
|
});
|
|
Object.defineProperty(this, "url", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
this.url = url;
|
|
}
|
|
}
|
|
export class RpcRequestError extends BaseError {
|
|
constructor({ body, error, url, }) {
|
|
super('RPC Request failed.', {
|
|
cause: error,
|
|
details: error.message,
|
|
metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
|
|
name: 'RpcRequestError',
|
|
});
|
|
Object.defineProperty(this, "code", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
Object.defineProperty(this, "data", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
Object.defineProperty(this, "url", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
this.code = error.code;
|
|
this.data = error.data;
|
|
this.url = url;
|
|
}
|
|
}
|
|
export class SocketClosedError extends BaseError {
|
|
constructor({ url, } = {}) {
|
|
super('The socket has been closed.', {
|
|
metaMessages: [url && `URL: ${getUrl(url)}`].filter(Boolean),
|
|
name: 'SocketClosedError',
|
|
});
|
|
Object.defineProperty(this, "url", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
this.url = url;
|
|
}
|
|
}
|
|
export class TimeoutError extends BaseError {
|
|
constructor({ body, url, }) {
|
|
super('The request took too long to respond.', {
|
|
details: 'The request timed out.',
|
|
metaMessages: [`URL: ${getUrl(url)}`, `Request body: ${stringify(body)}`],
|
|
name: 'TimeoutError',
|
|
});
|
|
Object.defineProperty(this, "url", {
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true,
|
|
value: void 0
|
|
});
|
|
this.url = url;
|
|
}
|
|
}
|
|
//# sourceMappingURL=request.js.map
|