summaryrefslogtreecommitdiff
path: root/node_modules/rollup-plugin-node-polyfills/polyfills/http.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/rollup-plugin-node-polyfills/polyfills/http.js')
-rw-r--r--node_modules/rollup-plugin-node-polyfills/polyfills/http.js167
1 files changed, 167 insertions, 0 deletions
diff --git a/node_modules/rollup-plugin-node-polyfills/polyfills/http.js b/node_modules/rollup-plugin-node-polyfills/polyfills/http.js
new file mode 100644
index 0000000..acf1411
--- /dev/null
+++ b/node_modules/rollup-plugin-node-polyfills/polyfills/http.js
@@ -0,0 +1,167 @@
+/*
+this and http-lib folder
+
+The MIT License
+
+Copyright (c) 2015 John Hiesey
+
+Permission is hereby granted, free of charge,
+to any person obtaining a copy of this software and
+associated documentation files (the "Software"), to
+deal in the Software without restriction, including
+without limitation the rights to use, copy, modify,
+merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom
+the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+*/
+import ClientRequest from './http-lib/request';
+import {parse} from 'url';
+
+export function request(opts, cb) {
+ if (typeof opts === 'string')
+ opts = parse(opts)
+
+
+ // Normally, the page is loaded from http or https, so not specifying a protocol
+ // will result in a (valid) protocol-relative url. However, this won't work if
+ // the protocol is something else, like 'file:'
+ var defaultProtocol = global.location.protocol.search(/^https?:$/) === -1 ? 'http:' : ''
+
+ var protocol = opts.protocol || defaultProtocol
+ var host = opts.hostname || opts.host
+ var port = opts.port
+ var path = opts.path || '/'
+
+ // Necessary for IPv6 addresses
+ if (host && host.indexOf(':') !== -1)
+ host = '[' + host + ']'
+
+ // This may be a relative url. The browser should always be able to interpret it correctly.
+ opts.url = (host ? (protocol + '//' + host) : '') + (port ? ':' + port : '') + path
+ opts.method = (opts.method || 'GET').toUpperCase()
+ opts.headers = opts.headers || {}
+
+ // Also valid opts.auth, opts.mode
+
+ var req = new ClientRequest(opts)
+ if (cb)
+ req.on('response', cb)
+ return req
+}
+
+export function get(opts, cb) {
+ var req = request(opts, cb)
+ req.end()
+ return req
+}
+
+export function Agent() {}
+Agent.defaultMaxSockets = 4
+
+export var METHODS = [
+ 'CHECKOUT',
+ 'CONNECT',
+ 'COPY',
+ 'DELETE',
+ 'GET',
+ 'HEAD',
+ 'LOCK',
+ 'M-SEARCH',
+ 'MERGE',
+ 'MKACTIVITY',
+ 'MKCOL',
+ 'MOVE',
+ 'NOTIFY',
+ 'OPTIONS',
+ 'PATCH',
+ 'POST',
+ 'PROPFIND',
+ 'PROPPATCH',
+ 'PURGE',
+ 'PUT',
+ 'REPORT',
+ 'SEARCH',
+ 'SUBSCRIBE',
+ 'TRACE',
+ 'UNLOCK',
+ 'UNSUBSCRIBE'
+]
+export var STATUS_CODES = {
+ 100: 'Continue',
+ 101: 'Switching Protocols',
+ 102: 'Processing', // RFC 2518, obsoleted by RFC 4918
+ 200: 'OK',
+ 201: 'Created',
+ 202: 'Accepted',
+ 203: 'Non-Authoritative Information',
+ 204: 'No Content',
+ 205: 'Reset Content',
+ 206: 'Partial Content',
+ 207: 'Multi-Status', // RFC 4918
+ 300: 'Multiple Choices',
+ 301: 'Moved Permanently',
+ 302: 'Moved Temporarily',
+ 303: 'See Other',
+ 304: 'Not Modified',
+ 305: 'Use Proxy',
+ 307: 'Temporary 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 Time-out',
+ 409: 'Conflict',
+ 410: 'Gone',
+ 411: 'Length Required',
+ 412: 'Precondition Failed',
+ 413: 'Request Entity Too Large',
+ 414: 'Request-URI Too Large',
+ 415: 'Unsupported Media Type',
+ 416: 'Requested Range Not Satisfiable',
+ 417: 'Expectation Failed',
+ 418: 'I\'m a teapot', // RFC 2324
+ 422: 'Unprocessable Entity', // RFC 4918
+ 423: 'Locked', // RFC 4918
+ 424: 'Failed Dependency', // RFC 4918
+ 425: 'Unordered Collection', // RFC 4918
+ 426: 'Upgrade Required', // RFC 2817
+ 428: 'Precondition Required', // RFC 6585
+ 429: 'Too Many Requests', // RFC 6585
+ 431: 'Request Header Fields Too Large', // RFC 6585
+ 500: 'Internal Server Error',
+ 501: 'Not Implemented',
+ 502: 'Bad Gateway',
+ 503: 'Service Unavailable',
+ 504: 'Gateway Time-out',
+ 505: 'HTTP Version Not Supported',
+ 506: 'Variant Also Negotiates', // RFC 2295
+ 507: 'Insufficient Storage', // RFC 4918
+ 509: 'Bandwidth Limit Exceeded',
+ 510: 'Not Extended', // RFC 2774
+ 511: 'Network Authentication Required' // RFC 6585
+};
+
+export default {
+ request,
+ get,
+ Agent,
+ METHODS,
+ STATUS_CODES
+}