| /* |
| * Copyright (C) 2019 Apple Inc. All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions |
| * are met: |
| * 1. Redistributions of source code must retain the above copyright |
| * notice, this list of conditions and the following disclaimer. |
| * 2. Redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. |
| * |
| * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' |
| * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
| * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS |
| * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
| * THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| |
| WI.HTTPUtilities = class HTTPUtilities { |
| static statusTextForStatusCode(code) |
| { |
| console.assert(typeof code === "number"); |
| |
| switch (code) { |
| case 0: return "OK"; |
| case 100: return "Continue"; |
| case 101: return "Switching Protocols"; |
| case 200: return "OK"; |
| case 201: return "Created"; |
| case 202: return "Accepted"; |
| case 203: return "Non-Authoritative Information"; |
| case 204: return "No Content"; |
| case 205: return "Reset Content"; |
| case 206: return "Partial Content"; |
| case 207: return "Multi-Status"; |
| case 300: return "Multiple Choices"; |
| case 301: return "Moved Permanently"; |
| case 302: return "Found"; |
| case 303: return "See Other"; |
| case 304: return "Not Modified"; |
| case 305: return "Use Proxy"; |
| case 307: return "Temporary Redirect"; |
| case 308: return "Permanent Redirect"; |
| case 400: return "Bad Request"; |
| case 401: return "Unauthorized"; |
| case 402: return "Payment Required"; |
| case 403: return "Forbidden"; |
| case 404: return "Not Found"; |
| case 405: return "Method Not Allowed"; |
| case 406: return "Not Acceptable"; |
| case 407: return "Proxy Authentication Required"; |
| case 408: return "Request Time-out"; |
| case 409: return "Conflict"; |
| case 410: return "Gone"; |
| case 411: return "Length Required"; |
| case 412: return "Precondition Failed"; |
| case 413: return "Request Entity Too Large"; |
| case 414: return "Request-URI Too Large"; |
| case 415: return "Unsupported Media Type"; |
| case 416: return "Requested range not satisfiable"; |
| case 417: return "Expectation Failed"; |
| case 500: return "Internal Server Error"; |
| case 501: return "Not Implemented"; |
| case 502: return "Bad Gateway"; |
| case 503: return "Service Unavailable"; |
| case 504: return "Gateway Time-out"; |
| case 505: return "HTTP Version not supported"; |
| } |
| |
| if (code < 200) |
| return "Continue"; |
| if (code < 300) |
| return "OK"; |
| if (code < 400) |
| return "Multiple Choices"; |
| if (code < 500) |
| return "Bad Request"; |
| |
| return "Internal Server Error"; |
| } |
| }; |
| |
| WI.HTTPUtilities.RequestMethod = { |
| CONNECT: "CONNECT", |
| DELETE: "DELETE", |
| GET: "GET", |
| HEAD: "HEAD", |
| OPTIONS: "OPTIONS", |
| PATCH: "PATCH", |
| POST: "POST", |
| PUT: "PUT", |
| TRACE: "TRACE", |
| }; |
| |
| WI.HTTPUtilities.RequestMethodsWithBody = new Set([ |
| WI.HTTPUtilities.RequestMethod.DELETE, |
| WI.HTTPUtilities.RequestMethod.PATCH, |
| WI.HTTPUtilities.RequestMethod.POST, |
| WI.HTTPUtilities.RequestMethod.PUT, |
| ]); |