2
0
mirror of https://github.com/tenrok/axios.git synced 2026-05-27 14:47:43 +03:00
Commit Graph

95 Commits

Author SHA1 Message Date
Spencer von der Ohe 42eb9dfabc Adding option to disable automatic decompression (#2661)
* Adding ability to disable auto decompression

* Updating decompress documentation in README

* Fixing test\unit\adapters\http.js lint errors

* Adding test for disabling auto decompression

* Removing changes that fixed lint errors in tests

* Removing formating change to unit test

Co-authored-by: Xianming Zhong <chinesedfan@qq.com>
2020-03-06 22:01:58 +08:00
Gustavo López 6642ca9aa1 Add independent maxBodyLength option (#2781)
* Add independent option to set the maximum size of the request body

* Remove maxBodyLength check

* Update README

* Assert for error code and message
2020-03-06 21:55:19 +08:00
Nikita Galkin 12e00b8018 Fixing issue for HEAD method and gziped repsonse (#2666) 2020-02-15 18:10:58 +08:00
Xianming Zhong 56b72bbd2c Compatible with follow-redirect aborts the request (#2689)
* Compatible with follow-redirect aborts the request

* Use the error code
2020-02-15 13:41:08 +08:00
Michael Shin 03e6f4bf4c Fixing invalid agent issue (#1904) 2019-12-25 12:55:36 -08:00
Felipe Martins 85c9d4ffb0 fix: Fixing subdomain handling on no_proxy (#2442) 2019-09-28 20:51:20 -03:00
Jeremie Thomassey 00cd48027b Make redirection from HTTP to HTTPS work (#2426)
When calling an HTTP resource redirecting to a HTTPS one with a keepAlive agent. We get the following error:
```
TypeError [ERR_INVALID_PROTOCOL]: Protocol "https:" not supported. Expected "http:"
    at new ClientRequest (_http_client.js:119:11)
    at Object.request (https.js:281:10)
    at RedirectableRequest._performRequest (/Users/jthomassey/projects/ecom-shop-web/node_modules/follow-redirects/index.js:169:24)
    at RedirectableRequest._processResponse (/Users/jthomassey/projects/ecom-shop-web/node_modules/follow-redirects/index.js:260:10)
    at ClientRequest.RedirectableRequest._onNativeResponse (/Users/jthomassey/projects/ecom-shop-web/node_modules/follow-redirects/index.js:50:10)
    at Object.onceWrapper (events.js:277:13)
    at ClientRequest.emit (events.js:189:13)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:556:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:109:17)
    at Socket.socketOnData (_http_client.js:442:20)
```

This can be tested here : 
```
const http = require('http');
const https = require('https');
const axios = require('axios');

axios.get('http://www.photobox.fr', { httpAgent: http.Agent({ keepAlive:true }), httpsAgent: https.Agent({ keepAlive:true }) })
  .then(response => {
    console.log(response);
    console.log(response.headers);
  })
  .catch(error => {
    console.log(error);
  });
```

Axios delegate the redirection to the follow-redirect package which accept an option `agents` for both http and https agent see : https://github.com/follow-redirects/follow-redirects#per-request-options
2019-09-26 09:33:49 -03:00
Ya Hui Liang(Ryou) 93e69625a6 Fixing socket hang up error on node side for slow response. (#1752)
* Fixing socket hang up error on node side for slow response.

* eslint check
2019-09-16 05:58:58 -03:00
multicolaure 6fe506fda2 Do not modify config.url when using a relative baseURL (resolves #1628) (#2391)
* Adding tests to show config.url mutation

Because config.url is modified while processing the request
when the baseURL is set,
it is impossible to perform a retry with the provided config object.

Ref #1628

* Fixing url combining without modifying config.url

As config.url is not modified anymore during the request processing.
The request can safely be retried after it failed with the provided
config.

resolves #1628
2019-09-05 12:43:55 -03:00
drawski fd0c959355 Unzip response body only for statuses != 204 (#1129) 2019-05-15 13:35:09 -06:00
Gadzhi Gadzhiev 0d4fca085b Destroy stream on exceeding maxContentLength (fixes #1098) (#1485) 2019-05-07 15:20:34 -04:00
Rikki Gibson 21ae22dbd3 Preserve HTTP method when following redirect (#1758)
Resolves #1158

This modifies http.js to uppercase the HTTP method, similar to xhr.js, before passing the request off to the transport. This causes follow-redirects to preserve the HTTP method when automatically making a request to the next URL.
2018-08-27 17:26:38 +02:00
Chance Dickson 38de25257c Adding support for no_proxy env variable (#1693)
* Adding support for no_proxy env variable

* Adds support for the no_proxy environment variable commonly available
  with programs supporting the http_proxy/https_proxy environment
  variables.
* Adds tests to test the no_proxy environment variable.

* Adding documentation for the proxy env variables

* Adds documentation to README.md for the supported, conventional
  http_proxy, https_proxy, and no_proxy environment variables.
2018-08-07 11:52:04 -06:00
Khaled Garbaya 7d9a29ee4c Fixing http adapter to allow HTTPS connections via HTTP (#959) 2018-07-04 23:51:11 -07:00
Mark van den Broek 787c808c04 Fix: Removes usage of deprecated Buffer constructor. (#1555) (#1622) 2018-07-04 23:47:17 -07:00
Justin Beckwith c65065ac0f capture errors on request data streams 2018-03-15 22:12:42 -07:00
Nick Uraltsev 9a6abd789f Merge pull request #869 from johntron/master
Adds option to specify character set in responses (with http adapter)
2018-03-10 09:13:04 -08:00
Nick Uraltsev 4fbf084674 Merge pull request #1040 from pbarbiero/pbarbiero/improved-timeout-handling
Decorate resolve and reject to clear timeout in all cases
2018-03-08 09:35:58 -08:00
Emily Morehouse ccc78899bb Merge pull request #1070 from Starfox64/master
Adding support for UNIX Sockets
2018-02-16 17:05:48 -07:00
Tim Garthwaite 89bf42b946 Fix typo 2018-01-11 12:54:29 -05:00
Tim Garthwaite e452f761f7 Don't set maxBodyLength in follow-redirects if maxContentLength is -1 2018-01-11 10:44:40 -05:00
Tim Garthwaite bbfa7bfacc Fixing maxBodyLength exceeded error form follow-redirects when axios's maxContentLength is not exceeded 2018-01-11 08:55:02 -05:00
Nick Uraltsev fbb5d4d0d1 Merge pull request #1080 from MarshallOfSound/patch-1
Allow overriding the used transport
2017-10-24 07:58:13 -07:00
Nick Uraltsev 26b06391f8 Update links 2017-09-28 21:09:47 -07:00
Samuel Attard b01ce193a5 Allow overriding the used transport
This allows users of axios inside `electron` to provide the [`net`](https://electron.atom.io/docs/api/net/) module as the http transport instead of using nodes http/https modules.  This gives a whole bunch of things to Electron users including automatic proxy resolution.
2017-09-10 02:04:00 +10:00
Starfox64 85a48b2eaa Adding support for UNIX Sockets 2017-09-04 17:06:19 +02:00
John Syrinek 7340c5d5fb Adds option to specify character set in responses when using http adapter 2017-08-16 18:36:01 -05:00
Julien Roncaglia 07a7b7c84c Adding a way to disable all proxy processing (#691)
* Adding a way to disable all proxy processing

When the proxy field in configuration is === false all proxy processing is
disabled. This specifically disable the 'http_proxy' environment variable
handling.

Fixes #635
Related to #434

* Change readme wording

From review comment on PR (#691)
2017-08-14 13:38:44 +02:00
pbarbiero fa3c6d22f7 Decorate resolve and reject to clear timeout 2017-08-12 15:37:12 -05:00
Raymond Rutjes f1fb3de38f refactor(http): use ClientRequest "aborted" value (#966) 2017-07-10 09:50:43 +02:00
Felix Gnass c8494677bb use Buffer global in http.js
Since the http adapter is never used in the browser it's safe to use
the Buffer global and its isBuffer() method directly.
2017-05-04 23:43:59 +02:00
Rubén Norte 22ce6db383 Adding request to error objects when it is available 2017-04-08 21:44:15 +02:00
Nick Uraltsev fa582233af Merge pull request #828 from mzabriskie/feature/return-last-request-in-redirects
Return the last request made in axios response
2017-04-08 11:26:05 -07:00
Jeremy Fowler 188334439f support node buffers less than 8192 bytes (#773) 2017-04-08 13:55:34 +02:00
Rubén Norte 84d9a41850 Adding code to assign the last request to axios response 2017-04-08 12:47:20 +02:00
Marc Mignonsin df6d3ce6cf Support proxy auth (#483)
* Adding proxy auth
2016-10-19 11:02:42 +02:00
Michael McDermott 7c89704262 Default to using "http:" protocol in http adapter
Fixes #490
2016-10-18 10:59:38 -04:00
Matt Zabriskie b21a280df0 Merge pull request #491 from Jarlotee/patch-1
Fix proxy bugs
2016-10-18 08:59:19 -05:00
Nick Uraltsev 3fcf54ff36 Fixing issue with calling cancel after response has been received 2016-10-17 18:20:13 -07:00
Jared Lotti ce1ecdae7a forgot to add optional port 2016-10-17 15:24:17 -04:00
Jared Lotti 5c4ca4ccc4 fix proxy bugs 2016-10-17 15:18:18 -04:00
Nick Uraltsev 72dd897bb5 Adding cancellation support 2016-09-17 11:52:56 -07:00
Hubert Boma Manilla 93ae90ae6e Adding support for http_proxy and https_proxy environment variables 2016-08-24 09:05:26 -07:00
Christian Schuhmann 1ffcbb0369 Fixing Authorization header with basic auth
The http adapater did not remove a custom Authorization header when auth is set.
2016-08-04 08:34:07 +02:00
Rubén Norte 4c790d5a7a Replacing 'agent' option with 'httpAgent' and 'httpsAgent' 2016-07-22 21:10:58 +02:00
Rubén Norte 157efd5615 Changing adapter signature to receive config and return promises 2016-07-09 21:30:16 +02:00
Matt Zabriskie 10eb238651 Move transform response logic from adapters to dispatcher 2016-06-23 15:11:35 -06:00
Nick Uraltsev 91dae3c4ad Improve error handling 2016-06-13 13:56:08 -07:00
Matt Zabriskie 203cbc2da0 Moving settle & transformData from helpers/ -> core/ 2016-06-01 13:54:38 -06:00
Nick Uraltsev 4e7ca3dea3 Resolving conflicts and modifying http adapter to not change status code error range 2016-05-31 17:53:45 -07:00