You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.8 KiB
JavaScript
59 lines
1.8 KiB
JavaScript
import defined from "./defined.js";
|
|
import parseResponseHeaders from "./parseResponseHeaders.js";
|
|
|
|
/**
|
|
* An event that is raised when a request encounters an error.
|
|
*
|
|
* @constructor
|
|
* @alias RequestErrorEvent
|
|
*
|
|
* @param {Number} [statusCode] The HTTP error status code, such as 404.
|
|
* @param {Object} [response] The response included along with the error.
|
|
* @param {String|Object} [responseHeaders] The response headers, represented either as an object literal or as a
|
|
* string in the format returned by XMLHttpRequest's getAllResponseHeaders() function.
|
|
*/
|
|
function RequestErrorEvent(statusCode, response, responseHeaders) {
|
|
/**
|
|
* The HTTP error status code, such as 404. If the error does not have a particular
|
|
* HTTP code, this property will be undefined.
|
|
*
|
|
* @type {Number}
|
|
*/
|
|
this.statusCode = statusCode;
|
|
|
|
/**
|
|
* The response included along with the error. If the error does not include a response,
|
|
* this property will be undefined.
|
|
*
|
|
* @type {Object}
|
|
*/
|
|
this.response = response;
|
|
|
|
/**
|
|
* The headers included in the response, represented as an object literal of key/value pairs.
|
|
* If the error does not include any headers, this property will be undefined.
|
|
*
|
|
* @type {Object}
|
|
*/
|
|
this.responseHeaders = responseHeaders;
|
|
|
|
if (typeof this.responseHeaders === "string") {
|
|
this.responseHeaders = parseResponseHeaders(this.responseHeaders);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Creates a string representing this RequestErrorEvent.
|
|
* @memberof RequestErrorEvent
|
|
*
|
|
* @returns {String} A string representing the provided RequestErrorEvent.
|
|
*/
|
|
RequestErrorEvent.prototype.toString = function () {
|
|
var str = "Request has failed.";
|
|
if (defined(this.statusCode)) {
|
|
str += " Status Code: " + this.statusCode;
|
|
}
|
|
return str;
|
|
};
|
|
export default RequestErrorEvent;
|