aboutsummaryrefslogtreecommitdiff
path: root/node_modules/axios/lib/adapters
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/axios/lib/adapters')
-rw-r--r--node_modules/axios/lib/adapters/README.md37
-rw-r--r--node_modules/axios/lib/adapters/http.js231
-rw-r--r--node_modules/axios/lib/adapters/xhr.js180
3 files changed, 0 insertions, 448 deletions
diff --git a/node_modules/axios/lib/adapters/README.md b/node_modules/axios/lib/adapters/README.md
deleted file mode 100644
index 68f111895..000000000
--- a/node_modules/axios/lib/adapters/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# axios // adapters
-
-The modules under `adapters/` are modules that handle dispatching a request and settling a returned `Promise` once a response is received.
-
-## Example
-
-```js
-var settle = require('./../core/settle');
-
-module.exports = function myAdapter(config) {
- // At this point:
- // - config has been merged with defaults
- // - request transformers have already run
- // - request interceptors have already run
-
- // Make the request using config provided
- // Upon response settle the Promise
-
- return new Promise(function(resolve, reject) {
-
- var response = {
- data: responseData,
- status: request.status,
- statusText: request.statusText,
- headers: responseHeaders,
- config: config,
- request: request
- };
-
- settle(resolve, reject, response);
-
- // From here:
- // - response transformers will run
- // - response interceptors will run
- });
-}
-```
diff --git a/node_modules/axios/lib/adapters/http.js b/node_modules/axios/lib/adapters/http.js
deleted file mode 100644
index cc4e872ab..000000000
--- a/node_modules/axios/lib/adapters/http.js
+++ /dev/null
@@ -1,231 +0,0 @@
-'use strict';
-
-var utils = require('./../utils');
-var settle = require('./../core/settle');
-var buildURL = require('./../helpers/buildURL');
-var http = require('http');
-var https = require('https');
-var httpFollow = require('follow-redirects').http;
-var httpsFollow = require('follow-redirects').https;
-var url = require('url');
-var zlib = require('zlib');
-var pkg = require('./../../package.json');
-var createError = require('../core/createError');
-var enhanceError = require('../core/enhanceError');
-
-/*eslint consistent-return:0*/
-module.exports = function httpAdapter(config) {
- return new Promise(function dispatchHttpRequest(resolve, reject) {
- var data = config.data;
- var headers = config.headers;
- var timer;
- var aborted = false;
-
- // Set User-Agent (required by some servers)
- // Only set header if it hasn't been set in config
- // See https://github.com/mzabriskie/axios/issues/69
- if (!headers['User-Agent'] && !headers['user-agent']) {
- headers['User-Agent'] = 'axios/' + pkg.version;
- }
-
- if (data && !utils.isStream(data)) {
- if (Buffer.isBuffer(data)) {
- // Nothing to do...
- } else if (utils.isArrayBuffer(data)) {
- data = new Buffer(new Uint8Array(data));
- } else if (utils.isString(data)) {
- data = new Buffer(data, 'utf-8');
- } else {
- return reject(createError(
- 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',
- config
- ));
- }
-
- // Add Content-Length header if data exists
- headers['Content-Length'] = data.length;
- }
-
- // HTTP basic authentication
- var auth = undefined;
- if (config.auth) {
- var username = config.auth.username || '';
- var password = config.auth.password || '';
- auth = username + ':' + password;
- }
-
- // Parse url
- var parsed = url.parse(config.url);
- var protocol = parsed.protocol || 'http:';
-
- if (!auth && parsed.auth) {
- var urlAuth = parsed.auth.split(':');
- var urlUsername = urlAuth[0] || '';
- var urlPassword = urlAuth[1] || '';
- auth = urlUsername + ':' + urlPassword;
- }
-
- if (auth) {
- delete headers.Authorization;
- }
-
- var isHttps = protocol === 'https:';
- var agent = isHttps ? config.httpsAgent : config.httpAgent;
-
- var options = {
- hostname: parsed.hostname,
- port: parsed.port,
- path: buildURL(parsed.path, config.params, config.paramsSerializer).replace(/^\?/, ''),
- method: config.method,
- headers: headers,
- agent: agent,
- auth: auth
- };
-
- var proxy = config.proxy;
- if (!proxy) {
- var proxyEnv = protocol.slice(0, -1) + '_proxy';
- var proxyUrl = process.env[proxyEnv] || process.env[proxyEnv.toUpperCase()];
- if (proxyUrl) {
- var parsedProxyUrl = url.parse(proxyUrl);
- proxy = {
- host: parsedProxyUrl.hostname,
- port: parsedProxyUrl.port
- };
-
- if (parsedProxyUrl.auth) {
- var proxyUrlAuth = parsedProxyUrl.auth.split(':');
- proxy.auth = {
- username: proxyUrlAuth[0],
- password: proxyUrlAuth[1]
- };
- }
- }
- }
-
- if (proxy) {
- options.hostname = proxy.host;
- options.host = proxy.host;
- options.headers.host = parsed.hostname + (parsed.port ? ':' + parsed.port : '');
- options.port = proxy.port;
- options.path = protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path;
-
- // Basic proxy authorization
- if (proxy.auth) {
- var base64 = new Buffer(proxy.auth.username + ':' + proxy.auth.password, 'utf8').toString('base64');
- options.headers['Proxy-Authorization'] = 'Basic ' + base64;
- }
- }
-
- var transport;
- if (config.maxRedirects === 0) {
- transport = isHttps ? https : http;
- } else {
- if (config.maxRedirects) {
- options.maxRedirects = config.maxRedirects;
- }
- transport = isHttps ? httpsFollow : httpFollow;
- }
-
- // Create the request
- var req = transport.request(options, function handleResponse(res) {
- if (aborted) return;
-
- // Response has been received so kill timer that handles request timeout
- clearTimeout(timer);
- timer = null;
-
- // uncompress the response body transparently if required
- var stream = res;
- switch (res.headers['content-encoding']) {
- /*eslint default-case:0*/
- case 'gzip':
- case 'compress':
- case 'deflate':
- // add the unzipper to the body stream processing pipeline
- stream = stream.pipe(zlib.createUnzip());
-
- // remove the content-encoding in order to not confuse downstream operations
- delete res.headers['content-encoding'];
- break;
- }
-
- // return the last request in case of redirects
- var lastRequest = res.req || req;
-
- var response = {
- status: res.statusCode,
- statusText: res.statusMessage,
- headers: res.headers,
- config: config,
- request: lastRequest
- };
-
- if (config.responseType === 'stream') {
- response.data = stream;
- settle(resolve, reject, response);
- } else {
- var responseBuffer = [];
- stream.on('data', function handleStreamData(chunk) {
- responseBuffer.push(chunk);
-
- // make sure the content length is not over the maxContentLength if specified
- if (config.maxContentLength > -1 && Buffer.concat(responseBuffer).length > config.maxContentLength) {
- reject(createError('maxContentLength size of ' + config.maxContentLength + ' exceeded',
- config, null, lastRequest));
- }
- });
-
- stream.on('error', function handleStreamError(err) {
- if (aborted) return;
- reject(enhanceError(err, config, null, lastRequest));
- });
-
- stream.on('end', function handleStreamEnd() {
- var responseData = Buffer.concat(responseBuffer);
- if (config.responseType !== 'arraybuffer') {
- responseData = responseData.toString('utf8');
- }
-
- response.data = responseData;
- settle(resolve, reject, response);
- });
- }
- });
-
- // Handle errors
- req.on('error', function handleRequestError(err) {
- if (aborted) return;
- reject(enhanceError(err, config, null, req));
- });
-
- // Handle request timeout
- if (config.timeout && !timer) {
- timer = setTimeout(function handleRequestTimeout() {
- req.abort();
- reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', req));
- aborted = true;
- }, config.timeout);
- }
-
- if (config.cancelToken) {
- // Handle cancellation
- config.cancelToken.promise.then(function onCanceled(cancel) {
- if (aborted) {
- return;
- }
-
- req.abort();
- reject(cancel);
- aborted = true;
- });
- }
-
- // Send the request
- if (utils.isStream(data)) {
- data.pipe(req);
- } else {
- req.end(data);
- }
- });
-};
diff --git a/node_modules/axios/lib/adapters/xhr.js b/node_modules/axios/lib/adapters/xhr.js
deleted file mode 100644
index 6cbce355a..000000000
--- a/node_modules/axios/lib/adapters/xhr.js
+++ /dev/null
@@ -1,180 +0,0 @@
-'use strict';
-
-var utils = require('./../utils');
-var settle = require('./../core/settle');
-var buildURL = require('./../helpers/buildURL');
-var parseHeaders = require('./../helpers/parseHeaders');
-var isURLSameOrigin = require('./../helpers/isURLSameOrigin');
-var createError = require('../core/createError');
-var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || require('./../helpers/btoa');
-
-module.exports = function xhrAdapter(config) {
- return new Promise(function dispatchXhrRequest(resolve, reject) {
- var requestData = config.data;
- var requestHeaders = config.headers;
-
- if (utils.isFormData(requestData)) {
- delete requestHeaders['Content-Type']; // Let the browser set it
- }
-
- var request = new XMLHttpRequest();
- var loadEvent = 'onreadystatechange';
- var xDomain = false;
-
- // For IE 8/9 CORS support
- // Only supports POST and GET calls and doesn't returns the response headers.
- // DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.
- if (process.env.NODE_ENV !== 'test' &&
- typeof window !== 'undefined' &&
- window.XDomainRequest && !('withCredentials' in request) &&
- !isURLSameOrigin(config.url)) {
- request = new window.XDomainRequest();
- loadEvent = 'onload';
- xDomain = true;
- request.onprogress = function handleProgress() {};
- request.ontimeout = function handleTimeout() {};
- }
-
- // HTTP basic authentication
- if (config.auth) {
- var username = config.auth.username || '';
- var password = config.auth.password || '';
- requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
- }
-
- request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);
-
- // Set the request timeout in MS
- request.timeout = config.timeout;
-
- // Listen for ready state
- request[loadEvent] = function handleLoad() {
- if (!request || (request.readyState !== 4 && !xDomain)) {
- return;
- }
-
- // The request errored out and we didn't get a response, this will be
- // handled by onerror instead
- // With one exception: request that using file: protocol, most browsers
- // will return status as 0 even though it's a successful request
- if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
- return;
- }
-
- // Prepare the response
- var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
- var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
- var response = {
- data: responseData,
- // IE sends 1223 instead of 204 (https://github.com/mzabriskie/axios/issues/201)
- status: request.status === 1223 ? 204 : request.status,
- statusText: request.status === 1223 ? 'No Content' : request.statusText,
- headers: responseHeaders,
- config: config,
- request: request
- };
-
- settle(resolve, reject, response);
-
- // Clean up request
- request = null;
- };
-
- // Handle low level network errors
- request.onerror = function handleError() {
- // Real errors are hidden from us by the browser
- // onerror should only fire if it's a network error
- reject(createError('Network Error', config, null, request));
-
- // Clean up request
- request = null;
- };
-
- // Handle timeout
- request.ontimeout = function handleTimeout() {
- reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',
- request));
-
- // Clean up request
- request = null;
- };
-
- // Add xsrf header
- // This is only done if running in a standard browser environment.
- // Specifically not if we're in a web worker, or react-native.
- if (utils.isStandardBrowserEnv()) {
- var cookies = require('./../helpers/cookies');
-
- // Add xsrf header
- var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?
- cookies.read(config.xsrfCookieName) :
- undefined;
-
- if (xsrfValue) {
- requestHeaders[config.xsrfHeaderName] = xsrfValue;
- }
- }
-
- // Add headers to the request
- if ('setRequestHeader' in request) {
- utils.forEach(requestHeaders, function setRequestHeader(val, key) {
- if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
- // Remove Content-Type if data is undefined
- delete requestHeaders[key];
- } else {
- // Otherwise add header to the request
- request.setRequestHeader(key, val);
- }
- });
- }
-
- // Add withCredentials to request if needed
- if (config.withCredentials) {
- request.withCredentials = true;
- }
-
- // Add responseType to request if needed
- if (config.responseType) {
- try {
- request.responseType = config.responseType;
- } catch (e) {
- // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
- // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
- if (config.responseType !== 'json') {
- throw e;
- }
- }
- }
-
- // Handle progress if needed
- if (typeof config.onDownloadProgress === 'function') {
- request.addEventListener('progress', config.onDownloadProgress);
- }
-
- // Not all browsers support upload events
- if (typeof config.onUploadProgress === 'function' && request.upload) {
- request.upload.addEventListener('progress', config.onUploadProgress);
- }
-
- if (config.cancelToken) {
- // Handle cancellation
- config.cancelToken.promise.then(function onCanceled(cancel) {
- if (!request) {
- return;
- }
-
- request.abort();
- reject(cancel);
- // Clean up request
- request = null;
- });
- }
-
- if (requestData === undefined) {
- requestData = null;
- }
-
- // Send the request
- request.send(requestData);
- });
-};