Vsevolod Strukchinsky
cc36bb214a
remove parse-json
Closes #134
9 years ago
Vsevolod Strukchinsky
df6526461b
var → const & let
9 years ago
Vsevolod Strukchinsky
9378d92120
replace read-all-stream with get-stream
Closes #132
9 years ago
Vsevolod Strukchinsky
3c66bd74c7
use string templates where appropriate
9 years ago
Vsevolod Strukchinsky
5f76fa016f
basic consts and function arrow replacement
9 years ago
Vsevolod Strukchinsky
870cd03c99
remove pinkie-promise
9 years ago
Vsevolod Strukchinsky
59aa1d3a1d
pass error to retries option
Closes #119
9 years ago
Vsevolod Strukchinsky
da9fc07a59
check for HEAD method before unzipping response
Closes #145
9 years ago
Vsevolod Strukchinsky
a10a99e8ae
accept backoff function in retry option
Closes #138
9 years ago
Vsevolod Strukchinsky
54bd6f5bba
decrease retry intervals
Now they will be ~1s, ~2s, ~4s, ~8s...
Closes #136
9 years ago
Vsevolod Strukchinsky
cf54459257
remove undefined code in errors
9 years ago
Vsevolod Strukchinsky
dcc7de6815
make response property non enumerable on error
9 years ago
Vsevolod Strukchinsky
e45087ab04
fix accept and content-length headers overriding
9 years ago
Vsevolod Strukchinsky
5205e7260f
check for pipe method only
See discussion here - https://github.com/form-data/form-data/pull/150#issuecomment-151884281
9 years ago
Vsevolod Strukchinsky
927b479308
some more code-style fixes
9 years ago
Vsevolod Strukchinsky
ec893541da
tiny code-style fix
9 years ago
Vsevolod Strukchinsky
abf18da4a0
cleanup unix socket code
9 years ago
Vsevolod Strukchinsky
c59b7b81b0
Add note about function in setImmediate
9 years ago
Vsevolod Strukchinsky
9ffbbdf5ab
Deferred response event
9 years ago
Vsevolod Strukchinsky
001351cb06
Merge default values in one object
9 years ago
Sindre Sorhus
a64de6f77b
use `url-parse-lax` instead of `prepend-http`
9 years ago
Vsevolod Strukchinsky
6c59ce8b34
Add exponential retry on network errors
Closes #98
9 years ago
Vsevolod Strukchinsky
62ff082deb
Throw on authentication in url string
Closes #106
9 years ago
Vsevolod Strukchinsky
066e6125e0
Emit either error or reponse event in stream mode
Closes #110
9 years ago
Kevin Martensson
f9f2807e63
Don't unzip response in browsers
This reduces the browserifed size from 471 KB to 268 KB.
9 years ago
Vsevolod Strukchinsky
df26918b3d
throw when callback is passed to stream mode
9 years ago
Vsevolod Strukchinsky
0109725b74
workaround throwing in promise mode
Fixes #99
9 years ago
vdemedes
3182234d0e
allow requests via unix domain socket
Closes #96
9 years ago
Vsevolod Strukchinsky
e0863dcce9
pass errors in stream mode
Closes #97
9 years ago
Sindre Sorhus
5c1e976b2f
add XO
9 years ago
Sindre Sorhus
e944467ed5
improve error output on invalid JSON
More descriptive error message and shows the URL of the file in question:
> Unexpected token '/' at 1:1 in http://localhost:6767/invalid
9 years ago
Vsevolod Strukchinsky
bdc1bfb2b8
Do not assign to undefined response
9 years ago
Vsevolod Strukchinsky
e1cbaf200b
Do not override content-type when body is plain object
9 years ago
Vsevolod Strukchinsky
7bea9c4d33
Stringify plain Object in body as application/x-www-form-urlencoded
Closes #70
9 years ago
Sindre Sorhus
8045fc8741
use `http.STATUS_CODES` ponyfill
Since the list differ between Node.js versions: https://github.com/nodejs/io.js/commit/8be6060020
This is different than the previous `statuses` module we used as this is a strict ponyfill for the built-in list.
9 years ago
Sindre Sorhus
082f4fd1d9
💄
9 years ago
Vsevolod Strukchinsky
11680b1b68
Explicit Error classes
Closes #83 and closes #86
9 years ago
Vsevolod Strukchinsky
12c3cf53db
Remove unnecessary variable
9 years ago
Vsevolod Strukchinsky
8768176829
Small simplifications
9 years ago
Vsevolod Strukchinsky
b38a7975cc
Use unzip-response to unzip stream
9 years ago
Vsevolod Strukchinsky
00a9129b85
Add helpers for stream API
9 years ago
Vsevolod Strukchinsky
a1eb3f7801
Move setImmediate closer to sync event
> EventEmitter was made to be used as an abstraction around asynchronous events. Thus, when an event is emitted it will have happened on a different tick than when the event was set.
See https://github.com/joyent/node/issues/8470#issuecomment-58315886
9 years ago
Vsevolod Strukchinsky
16f93eaff1
Quick shims
9 years ago
Vsevolod Strukchinsky
04dbc4b728
Add Promise API
* Base logic moved into event-emitter and all APIs wrapped around it
* read-all-stream combined into one place - less code duplication
* Unzip stream now inherits all properties and function from response and returned instead of response
Closes #66
9 years ago
Vsevolod Strukchinsky
63d95b6316
Drop infinity-agent
Overall it is a bad practice to 'fix' internal modules within the other module.
I think graceful-fs (https://github.com/isaacs/node-graceful-fs#global-patching ) is good example, how to do this:
```js
var http = require('http');
var https = requrie('https');
var infinityAgent = require('infinity-agent');
infinityAgent.patch(http);
infinityAgent.patch(https);
```
This will enable global agent tuning in edge cases.
Closes #73 and closes #60
9 years ago
Vsevolod Strukchinsky
b9c33aa64e
Reselect agent on redirect from http to https
Closes #80
9 years ago
Sindre Sorhus
29e7e958fb
use the node builtin status codes
9 years ago
Vsevolod Strukchinsky
79f1390727
Emit response event only on final request
Closes #75
9 years ago
Connor Hindley
312c80d82c
do not parse json on a 204 response
9 years ago
Vsevolod Strukchinsky
d7a66baac7
Try pathname, if no path is specified
Closes #72
9 years ago