Commit Graph

136 Commits

Author SHA1 Message Date
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
David Frank 4d63427123 demostrate restream more clearly in tests 2016-03-23 15:23:56 +08:00
David Frank 89ce1b70b6 fix formdata support when you are trying to wrap the request 2016-03-23 15:02:04 +08:00
David Frank 827ce8fa31 fix tests for older node 2016-03-19 18:36:53 +08:00
David Frank 9a90e7d0b9 test for options support 2016-03-19 18:24:08 +08:00
David Frank 362aa087ca clone method support 2016-03-19 18:06:33 +08:00
David Frank 00fa867914 fix chunked encoding support for character encoding conversion, thx @dsuket PR #50 2016-03-19 16:17:14 +08:00
David Frank 85c18162ac test for form-data content-length hack 2016-03-19 15:51:48 +08:00
David Frank c3a4e96a61 more test cleanup 2016-03-19 15:33:13 +08:00
David Frank 4624f41385 fix coverage and remove duplicate tests 2016-03-19 15:11:16 +08:00
David Frank 79d2e2cc37 bump dependencies and fix incompatible tests 2016-03-19 14:41:19 +08:00
Kirill Konshin e658483ebe Fix for #38 and #36
Support string/buffer bodies in Response constructor
Request should have Body methods like text(), json()
2016-02-17 10:50:55 -08:00
Tomáš Ehrlich 751cf6cd29 Add Headers.forEach method. 2015-10-27 06:13:02 +01:00
David Frank cf128ddfb8 make sure we test with transform stream 2015-09-28 23:04:14 +08:00
David Frank 6072402eb6 test case for Response ctor 2015-09-28 22:39:53 +08:00
David Frank b48757013a per spec, follow redirect with GET request 2015-09-28 22:30:41 +08:00
David Frank 8f02a2b77c handle body stream error 2015-09-28 21:58:45 +08:00
David Frank cfe98cdd35 make sure we don't overwrite existing content-length 2015-09-28 19:27:57 +08:00
David Frank c22bfa8189 auto add content-length on for string body 2015-09-28 17:40:58 +08:00
Kirill Konshin 765aef29f8 Fix for #33
Added parsing of Headers in Response & Request constructors
2015-08-08 19:43:55 -07:00
David Frank 565ec4b35a additional tests for the new form-data integration 2015-07-22 15:40:52 +08:00
Dylan Piercey ffac4177b0 Automatically pull headers from node-form-data. 2015-07-22 02:05:06 +00:00
David Frank b64073c64c update comment to explain hack, make use of inpsect route in test, and update changelog 2015-07-11 19:38:26 +08:00
Matthew Andrews e98f22b3ba Add failing test for the ability to set a custom header 2015-07-11 10:37:51 +01:00
David Frank feb4808a22 allow request wrapping 2015-06-04 12:40:01 +08:00
David Frank 9b5330dfe3 add basic test case for request 2015-06-04 12:12:27 +08:00
David Frank a322795339 handle common mistake of passing number as header 2015-05-04 12:05:06 +08:00
Rhys Evans 5e4d9b1a60 expose response and headers constructors 2015-05-03 09:43:59 +01:00
David Frank 596232fd90 better test for headers, only support string and array 2015-04-29 12:15:08 +08:00
David Frank 19dcea47f1 add Headers support 2015-04-22 23:36:11 +08:00
David Frank e09dfae0a5 timeout on body and clear timeout internally 2015-04-17 13:26:55 +08:00
Kirill Dmitrenko d868add4db Test for clearing timeout 2015-04-16 21:46:22 +03:00
David Frank 3f59e6e964 added test cases for regex 2015-03-24 12:31:04 +08:00
David Frank a8bb5650ad fix follow=0 scenario 2015-03-20 00:22:23 +08:00
David Frank 281037c795 travis and tests update, plus some doc clean up 2015-03-19 23:38:27 +08:00
David Frank 48a0a9a2f2 xml encoding detection, response size limit 2015-01-28 22:56:25 +08:00
David Frank 9358045798 redirect 301 result in status 200 and res.ok true 2015-01-28 13:10:33 +08:00
David Frank 60d232d66a better test coverage on edge case 2015-01-28 13:01:10 +08:00
David Frank be778b9d8c better tests and doc for res.ok 2015-01-28 12:17:12 +08:00
Matthew Andrews ff5eabfdf4 Add a convenience `ok` getter on `Response` 2015-01-27 23:43:06 +00:00
David Frank ff81206c4a better test coverage 2015-01-28 01:00:53 +08:00
David Frank 53a763beab more tests 2015-01-27 23:33:06 +08:00
David Frank af21ae6c1c basic refactor done 2015-01-27 21:11:26 +08:00
David Frank 93a983d815 basic fetch feature done 2015-01-27 01:46:32 +08:00
David Frank f57ebe10df basic streaming body 2015-01-26 21:58:52 +08:00
David Frank 78853fc544 add test cases 2015-01-26 21:28:23 +08:00
David Frank 75699bb467 basic http added 2015-01-26 18:15:07 +08:00
David Frank 9c472a52f2 setup repo 2015-01-26 17:02:34 +08:00