119 lines
2.9 KiB
JavaScript
Executable File
119 lines
2.9 KiB
JavaScript
Executable File
/**
|
|
* @license
|
|
* Copyright The Closure Library Authors.
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
/**
|
|
* @fileoverview Constants for HTTP status codes.
|
|
*/
|
|
|
|
goog.provide('goog.net.HttpStatus');
|
|
|
|
|
|
/**
|
|
* HTTP Status Codes defined in RFC 2616, RFC 6585, RFC 4918 and RFC 7538.
|
|
* @see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
|
|
* @see http://tools.ietf.org/html/rfc6585
|
|
* @see https://tools.ietf.org/html/rfc4918
|
|
* @see https://tools.ietf.org/html/rfc7538
|
|
* @enum {number}
|
|
*/
|
|
goog.net.HttpStatus = {
|
|
// Informational 1xx
|
|
CONTINUE: 100,
|
|
SWITCHING_PROTOCOLS: 101,
|
|
|
|
// Successful 2xx
|
|
OK: 200,
|
|
CREATED: 201,
|
|
ACCEPTED: 202,
|
|
NON_AUTHORITATIVE_INFORMATION: 203,
|
|
NO_CONTENT: 204,
|
|
RESET_CONTENT: 205,
|
|
PARTIAL_CONTENT: 206,
|
|
MULTI_STATUS: 207,
|
|
|
|
// Redirection 3xx
|
|
MULTIPLE_CHOICES: 300,
|
|
MOVED_PERMANENTLY: 301,
|
|
FOUND: 302,
|
|
SEE_OTHER: 303,
|
|
NOT_MODIFIED: 304,
|
|
USE_PROXY: 305,
|
|
TEMPORARY_REDIRECT: 307,
|
|
PERMANENT_REDIRECT: 308,
|
|
|
|
// Client Error 4xx
|
|
BAD_REQUEST: 400,
|
|
UNAUTHORIZED: 401,
|
|
PAYMENT_REQUIRED: 402,
|
|
FORBIDDEN: 403,
|
|
NOT_FOUND: 404,
|
|
METHOD_NOT_ALLOWED: 405,
|
|
NOT_ACCEPTABLE: 406,
|
|
PROXY_AUTHENTICATION_REQUIRED: 407,
|
|
REQUEST_TIMEOUT: 408,
|
|
CONFLICT: 409,
|
|
GONE: 410,
|
|
LENGTH_REQUIRED: 411,
|
|
PRECONDITION_FAILED: 412,
|
|
REQUEST_ENTITY_TOO_LARGE: 413,
|
|
REQUEST_URI_TOO_LONG: 414,
|
|
UNSUPPORTED_MEDIA_TYPE: 415,
|
|
REQUEST_RANGE_NOT_SATISFIABLE: 416,
|
|
EXPECTATION_FAILED: 417,
|
|
UNPROCESSABLE_ENTITY: 422,
|
|
LOCKED: 423,
|
|
FAILED_DEPENDENCY: 424,
|
|
PRECONDITION_REQUIRED: 428,
|
|
TOO_MANY_REQUESTS: 429,
|
|
REQUEST_HEADER_FIELDS_TOO_LARGE: 431,
|
|
CLIENT_CLOSED_REQUEST: 499, // Nonstandard, used by GRPC
|
|
|
|
// Server Error 5xx
|
|
INTERNAL_SERVER_ERROR: 500,
|
|
NOT_IMPLEMENTED: 501,
|
|
BAD_GATEWAY: 502,
|
|
SERVICE_UNAVAILABLE: 503,
|
|
GATEWAY_TIMEOUT: 504,
|
|
HTTP_VERSION_NOT_SUPPORTED: 505,
|
|
INSUFFICIENT_STORAGE: 507,
|
|
NETWORK_AUTHENTICATION_REQUIRED: 511,
|
|
|
|
/*
|
|
* IE returns this code for 204 due to its use of URLMon, which returns this
|
|
* code for 'Operation Aborted'. The status text is 'Unknown', the response
|
|
* headers are ''. Known to occur on IE 6 on XP through IE9 on Win7.
|
|
*/
|
|
QUIRK_IE_NO_CONTENT: 1223,
|
|
};
|
|
|
|
|
|
/**
|
|
* Returns whether the given status should be considered successful.
|
|
*
|
|
* Successful codes are OK (200), CREATED (201), ACCEPTED (202),
|
|
* NO CONTENT (204), PARTIAL CONTENT (206), NOT MODIFIED (304),
|
|
* and IE's no content code (1223).
|
|
*
|
|
* @param {number} status The status code to test.
|
|
* @return {boolean} Whether the status code should be considered successful.
|
|
*/
|
|
goog.net.HttpStatus.isSuccess = function(status) {
|
|
'use strict';
|
|
switch (status) {
|
|
case goog.net.HttpStatus.OK:
|
|
case goog.net.HttpStatus.CREATED:
|
|
case goog.net.HttpStatus.ACCEPTED:
|
|
case goog.net.HttpStatus.NO_CONTENT:
|
|
case goog.net.HttpStatus.PARTIAL_CONTENT:
|
|
case goog.net.HttpStatus.NOT_MODIFIED:
|
|
case goog.net.HttpStatus.QUIRK_IE_NO_CONTENT:
|
|
return true;
|
|
|
|
default:
|
|
return false;
|
|
}
|
|
};
|