Commit Graph

98 Commits

Author SHA1 Message Date
Timothy Gu a604069860 More exact content-type and content-length
Set content-type of requests with body being objects to text/plain
2016-12-05 20:27:08 -08:00
Timothy Gu 385ca6b2b0 To 100% branches coverage 2016-12-05 19:48:59 -08:00
Timothy Gu 4d944365df Fix tests added in the last commit 2016-12-05 15:21:19 -08:00
Timothy Gu e7a13a5314 Add support for blobs 2016-12-05 15:06:22 -08:00
Timothy Gu cc4ace1778 Make body default to null in Request
Fixes #208.
2016-12-04 13:16:03 -08:00
Timothy Gu 3d676235a8 Throw when a GET/HEAD Request is created with body
As mandated by the spec
2016-12-04 13:15:03 -08:00
Timothy Gu d3071fa46a Revert "Return empty .json() object on 204. Fix #165. (#166)" (#201)
This reverts commit 95b58936b8.

Fixes #165.
2016-11-26 09:07:12 -08:00
Timothy Gu 25ff99677d Improve Headers' iteration support
Class strings, spec-compliant forEach, etc.
2016-11-23 15:06:30 -08:00
Timothy Gu a355664e64 Update packages 2016-11-23 11:30:01 -08:00
Timothy Gu 5fe80dba06 Remove dependency on babel-polyfill
This way the tests can better emulate the real Node.js environment.
2016-11-05 10:26:30 -07:00
Timothy Gu 72d34af6e2 Start test server when executed directly 2016-11-05 09:39:01 -07:00
Timothy Gu 76cb57cace Support WHATWG URL objects
Fixes #175.
2016-10-15 10:19:52 -07:00
Timothy Gu b092a8ed12 Add test for constructing Request with parsed URL object 2016-10-15 10:19:52 -07:00
Timothy Gu d3b4161d7c Add a new res.textConverted() and always use UTF-8 for res.text()
Also uses iconv-lite directly instead of using the "encoding" package.

Fixes #184.
2016-10-15 09:41:52 -07:00
Timothy Gu 2a7ef63bc4 Add FOLLOW_SPEC mode 2016-10-15 08:21:51 -07:00
Timothy Gu 2cafdcb5e4 Validate headers 2016-10-15 08:21:51 -07:00
Timothy Gu fba873d3fe Make sure to coerce header values to string 2016-10-15 08:21:51 -07:00
Timothy Gu 82c1e78184 Allow constructing Headers with an Array 2016-10-15 08:21:51 -07:00
Timothy Gu 67326e3873 Condense class toString tests 2016-10-12 20:51:19 -07:00
Timothy Gu 4d81cb4877 Test @@toStringTag getter of all classes 2016-10-12 17:29:33 -07:00
Timothy Gu 0f65af3fd8 Split Headers iterable test into four 2016-10-12 17:29:33 -07:00
Timothy Gu c3a121a360 Add support for Body#arrayBuffer 2016-10-12 17:29:33 -07:00
Timothy Gu 64e239b092 Improve Body spec compliance when body is null 2016-10-12 17:29:33 -07:00
Timothy Gu a0be6aa34a Simplify Request constructor
Also make Request more standard compliant:

> The `url` attribute's getter must return request's url, **serialized.**
2016-10-12 17:29:33 -07:00
Timothy Gu 838071247d Convert all files to ES2015 (#182)
Elements of this commit come from #140 by @gwicke.
2016-10-10 11:50:04 -07:00
Timothy Gu 993d4cdea1 Convert Headers to ES2015 and implement Iterable interface (#180)
Closes #127, #174.
2016-10-08 20:51:01 -07:00
Timothy Gu 7c26fa9479 Add Babel infrastructure
No actual code has been changed yet.
2016-10-04 02:59:46 -07:00
David Frank e926483448 minor format fix and comments 2016-09-24 17:12:18 +08:00
Dan Dascalescu 95b58936b8 Return empty .json() object on 204. Fix #165. (#166)
Handle an edge case where 204 No Content response body is empty, but node-fetch trying to parse the empty body as-is.
2016-09-24 17:06:18 +08:00
David Frank ffddec0ad2 fix test: buffer.alloc is not available for older node.js release 2016-09-11 23:34:50 +08:00
David Frank 788c4627a7 make sure we default to 200 on new response 2016-09-11 23:17:09 +08:00
David Frank f17aa9af1f call tostring on plain object body 2016-09-11 22:33:22 +08:00
David Frank e4a7da8326 making sure headers will drop buffer value 2016-09-11 22:18:43 +08:00
David Frank 6bac50f1da fix bug related to request wrapping, where counter adopts follow value incorrectly 2016-09-11 22:02:39 +08:00
David Frank d24ec6f7c4 handle raw deflate response from old servers 2016-08-03 17:31:46 +08:00
David Frank 49363411f8 add a much-requested buffer() method for convenience 2016-08-03 13:27:32 +08:00
David Frank 140ae57f77 support buffer for request body 2016-08-03 13:07:47 +08:00
David Frank 3c05442699 HEAD request does not need to process body with decompression 2016-08-03 12:55:58 +08:00
David Frank 2a6e656c1d allow any url for new request, but still reject non-http url in fetch 2016-05-26 02:19:16 +08:00
David Frank a2607719ce send delete body with content-length 2016-05-26 02:00:25 +08:00
David Frank 8a6213198b avoid calling formdata getLengthSync when it has stream as fields 2016-05-26 01:37:36 +08:00
David Frank 419597fe13 user should be able to resolve cloned body before original body 2016-05-26 01:01:56 +08:00
David Frank 8b8309fe0f handle gzip encoding with 204 and 304 responses 2016-05-26 00:46:11 +08:00
David Frank 7f68577de4 let nodejs handle the connection pool when agent is passed 2016-04-30 13:19:08 +08:00
David Frank 311a8d5951 fix manual redirect mode 2016-04-13 02:58:04 +08:00
David Frank 64d798dd83 add basic support for redirect mode 2016-04-06 02:47:23 +08:00
David Frank 2ebaee639f use a IETF reserved domain name for invalid dns test 2016-04-06 02:01:07 +08:00
David Frank d28febd497 check that FetchError is an instanceof Error 2016-04-06 01:54:20 +08:00
David Frank ea8d7ca15f socket timeout should really be custom request timeout, change name to reflect it 2016-04-06 01:47:07 +08:00
Christian Pekeler b6f3913499 Support for program checkable error by introducing custom errors with error types/codes
This finally closes #7
2016-04-05 21:20:42 +08:00