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
10 years ago
Vsevolod Strukchinsky
e0863dcce9
pass errors in stream mode
Closes #97
9 years ago
Sindre Sorhus
5c1e976b2f
add XO
10 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
10 years ago
Vsevolod Strukchinsky
bdc1bfb2b8
Do not assign to undefined response
10 years ago
Vsevolod Strukchinsky
e1cbaf200b
Do not override content-type when body is plain object
10 years ago
Vsevolod Strukchinsky
7bea9c4d33
Stringify plain Object in body as application/x-www-form-urlencoded
Closes #70
10 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.
10 years ago
Sindre Sorhus
082f4fd1d9
💄
10 years ago
Vsevolod Strukchinsky
11680b1b68
Explicit Error classes
Closes #83 and closes #86
10 years ago
Vsevolod Strukchinsky
12c3cf53db
Remove unnecessary variable
10 years ago
Vsevolod Strukchinsky
8768176829
Small simplifications
10 years ago
Vsevolod Strukchinsky
b38a7975cc
Use unzip-response to unzip stream
10 years ago
Vsevolod Strukchinsky
00a9129b85
Add helpers for stream API
10 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
10 years ago
Vsevolod Strukchinsky
16f93eaff1
Quick shims
10 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
10 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
10 years ago
Vsevolod Strukchinsky
b9c33aa64e
Reselect agent on redirect from http to https
Closes #80
10 years ago
Sindre Sorhus
29e7e958fb
use the node builtin status codes
10 years ago
Vsevolod Strukchinsky
79f1390727
Emit response event only on final request
Closes #75
10 years ago
Connor Hindley
312c80d82c
do not parse json on a 204 response
10 years ago
Vsevolod Strukchinsky
d7a66baac7
Try pathname, if no path is specified
Closes #72
10 years ago
Vsevolod Strukchinsky
b7d4f8caca
Simplify get function and opts/arg juggling
Parse url at the top of got function and work with request object all the way down.
This reduces complexity and unnecessary delete calls in redirects.
10 years ago
Vsevolod Strukchinsky
3c06cca002
Move all code for options.body in one place
10 years ago
Vsevolod Strukchinsky
87d98e1f46
Add content-length header in POST
If:
- not already defined
- 'transfer-encoding' is not used
- body is not Stream
Closes #71
10 years ago