testplane
Version:
Tests framework based on mocha and wdio
84 lines • 2.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WsRequestTimeoutError = exports.WsConnectionTimeoutError = exports.WsTimeoutError = exports.WsConnectionTerminatedError = exports.WsConnectionBreakError = exports.WsConnectionEstablishmentError = exports.WsError = void 0;
const constants_1 = require("./constants");
class WsError extends Error {
constructor({ message, code, requestId }) {
let errorMessage = message;
if (code) {
errorMessage += `\n\tErrorCode: ${code}`;
}
if (requestId) {
errorMessage += `\n\tRequest ID: ${requestId}`;
}
super(errorMessage);
this.name = this.constructor.name;
this.code = code;
this.requestId = requestId;
}
}
exports.WsError = WsError;
class WsConnectionEstablishmentError extends WsError {
constructor({ message, requestId, statusCode }) {
super({ message, code: statusCode || constants_1.WS_ERROR_CODE.CONNECTION_ESTABLISHMENT, requestId });
this.name = this.constructor.name;
}
isRetryable() {
if (this.code && this.code >= 400 && this.code < 500) {
return false;
}
return true;
}
}
exports.WsConnectionEstablishmentError = WsConnectionEstablishmentError;
class WsConnectionBreakError extends WsError {
constructor({ message = "WS connection interrupted", requestId }) {
super({ message, code: constants_1.WS_ERROR_CODE.CONNECTION_BREAK, requestId });
this.name = this.constructor.name;
}
isRetryable() {
return true;
}
}
exports.WsConnectionBreakError = WsConnectionBreakError;
class WsConnectionTerminatedError extends WsError {
constructor({ message = "WS connection was manually closed", requestId, } = {}) {
super({ message, code: constants_1.WS_ERROR_CODE.CONNECTION_TERMINATED, requestId });
this.name = this.constructor.name;
}
isRetryable() {
return false;
}
}
exports.WsConnectionTerminatedError = WsConnectionTerminatedError;
class WsTimeoutError extends WsError {
constructor({ message, requestId }) {
super({ message, code: constants_1.WS_ERROR_CODE.TIMEOUT, requestId });
this.name = this.constructor.name;
}
isRetryable() {
return true;
}
}
exports.WsTimeoutError = WsTimeoutError;
class WsConnectionTimeoutError extends WsTimeoutError {
constructor({ message }) {
super({ message });
this.name = this.constructor.name;
}
isRetryable() {
return true;
}
}
exports.WsConnectionTimeoutError = WsConnectionTimeoutError;
class WsRequestTimeoutError extends WsTimeoutError {
constructor({ message, requestId }) {
super({ message, requestId });
this.name = this.constructor.name;
}
isRetryable() {
return true;
}
}
exports.WsRequestTimeoutError = WsRequestTimeoutError;
//# sourceMappingURL=error.js.map