nyro
Version:
A simple and effective promise-based HTTP & HTTP/2 request library that supports all HTTP methods.
122 lines (121 loc) • 4.17 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.isNyroError = isNyroError;
/**
* Object containing the status text for each HTTP status code.
*/
var StatusText = {
'100': 'Continue',
'101': 'Switching Protocols',
'102': 'Processing',
'103': 'Early Hints',
'200': 'OK',
'201': 'Created',
'202': 'Accepted',
'203': 'Non-Authoritative Information',
'204': 'No Content',
'205': 'Reset Content',
'206': 'Partial Content',
'207': 'Multi-Status',
'208': 'Already Reported',
'226': 'IM Used',
'300': 'Multiple Choices',
'301': 'Moved Permanently',
'302': 'Found',
'303': 'See Other',
'304': 'Not Modified',
'305': 'Use Proxy',
'306': 'Unused',
'307': 'Temporary Redirect',
'308': 'Permanent Redirect',
'309': 'Resume Incomplete',
'310': 'Too Many Redirects',
'311': 'Blocked by Windows Parental Controls',
'312': 'Redirect',
'313': 'Redirect Method',
'314': 'Requested URI Too Long',
'315': 'Moved Temporarily',
'316': 'Switch Proxy',
'317': 'Switch Redirect',
'400': 'Bad Request',
'401': 'Unauthorized',
'402': 'Payment Required',
'403': 'Forbidden',
'404': 'Not Found',
'405': 'Method Not Allowed',
'406': 'Not Acceptable',
'407': 'Proxy Authentication Required',
'408': 'Request Timeout',
'409': 'Conflict',
'410': 'Gone',
'411': 'Length Required',
'412': 'Precondition Failed',
'413': 'Payload Too Large',
'414': 'URI Too Long',
'415': 'Unsupported Media Type',
'416': 'Range Not Satisfiable',
'417': 'Expectation Failed',
'418': 'I\'m a teapot',
'421': 'Misdirected Request',
'422': 'Unprocessable Entity',
'423': 'Locked',
'424': 'Failed Dependency',
'425': 'Too Early',
'426': 'Upgrade Required',
'428': 'Precondition Required',
'429': 'Too Many Requests',
'431': 'Request Header Fields Too Large',
'451': 'Unavailable For Legal Reasons',
'500': 'Internal Server Error',
'501': 'Not Implemented',
'502': 'Bad Gateway',
'503': 'Service Unavailable',
'504': 'Gateway Timeout',
'505': 'HTTP Version Not Supported',
'506': 'Variant Also Negotiates',
'507': 'Insufficient Storage',
'508': 'Loop Detected',
'510': 'Not Extended',
'511': 'Network Authentication Required',
'unknown': 'Unknown Error',
};
;
;
function isNyroError(error) {
return error instanceof ErrorHandler;
}
;
var ErrorHandler = /** @class */ (function (_super) {
__extends(ErrorHandler, _super);
function ErrorHandler(errorHandlerOptions) {
var _a;
var _this = _super.call(this, errorHandlerOptions.message) || this;
_this.message = errorHandlerOptions.message;
_this.name = 'NyroError';
_this.statusText = StatusText[errorHandlerOptions.statusCode] || StatusText['unknown'];
_this.requestOptions = errorHandlerOptions.requestOptions;
_this.statusCode = errorHandlerOptions.statusCode;
_this.response = errorHandlerOptions.response;
_this.request = errorHandlerOptions.request;
_this.body = errorHandlerOptions.body;
_this.stack = (_a = errorHandlerOptions.error) === null || _a === void 0 ? void 0 : _a.stack;
return _this;
}
return ErrorHandler;
}(Error));
exports.default = ErrorHandler;