Changelog
3.10.0 (2022-12-18)
features
c6928c4
] - 📦 NEW: Export HttpClientResponse from urllib directly (#427) (fengmk2 <fengmk2@gmail.com>)fixes
3c731cc
] - 🐛 FIX: HttpClientResponse.res should be IncomingMessage (#426) (fengmk2 <fengmk2@gmail.com>)features
ee75fe7
] - 👌 IMPROVE: Keep more compatible d.ts on urllib v2 (#425) (fengmk2 <fengmk2@gmail.com>)features
726fe86
] - 👌 IMPROVE: Support formstream module instance stream (#424) (fengmk2 <fengmk2@gmail.com>)features
53d2c91
] - 👌 IMPROVE: Support old style readable stream (#423) (fengmk2 <fengmk2@gmail.com>)fixes
6a9dd92
] - 🐛 FIX: Import undici types change (#422) (fengmk2 <fengmk2@gmail.com>)fixes
46d0515
] - fix: parsing multiple www-authenticate response headers (#421) (capsice <108602490+capsice@users.noreply.github.com>)others
5c0b4e9
] - test: use vitest skipIf api (#419) (Ke Wu <gemwuu@163.com>)features
6ad7a02
] - feat: add socketPath support (#418) (Ke Wu <gemwuu@163.com>)features
20148f0
] - 👌 IMPROVE: Upgrade digest-header to v1 (#417) (fengmk2 <fengmk2@gmail.com>)others
b097c56
] - 🤖 TEST: Add Node.js 19 ci runner (#416) (fengmk2 <fengmk2@gmail.com>)fixes
d5270f1
] - 🐛 FIX: Only auto decompress response stream on args.compressed=true (#412) (fengmk2 <fengmk2@gmail.com>)others
d3f6809
] - 📖 DOC: Fix typo on Arguments (fengmk2 <fengmk2@gmail.com>)b63eb51
] - 🤖 TEST: Only show error on non-IllegalAddressError (fengmk2 <fengmk2@gmail.com>)c54c86a
] - 🤖 TEST: Fix address illegal test case (#409) (fengmk2 <fengmk2@gmail.com>)features
b483da3
] - 👌 IMPROVE: Support request with proxy agent (#408) (fengmk2 <fengmk2@gmail.com>)fixes
9575d29
] - 🐛 FIX: Support urlObject for compatibility (#406) (fengmk2 <fengmk2@gmail.com>)fixes
5a3ca77
] - 🐛 FIX: Keep req.options on error response event (#405) (fengmk2 <fengmk2@gmail.com>)fixes
456c73b
] - 🐛 FIX: http default protocol for URL argument (#404) (fengmk2 <fengmk2@gmail.com>)others
315f4a0
] - 📦 NEW: Support timing and socket info (#400) (fengmk2 <fengmk2@gmail.com>)414692b
] - 🧪️ TEST: Add diagnostics_channel test cases (#398) (fengmk2 <fengmk2@gmail.com>)65abb60
] - 🤖 TEST: Use vitest instead of jest (#399) (fengmk2 <fengmk2@gmail.com>)5f0c4a8
] - 📖 DOC: Update contributors (fengmk2 <fengmk2@gmail.com>)others
65c5112
] - 🐛 FIX: Include query parameters in digest uri (#396) (Chris Byrne <github@adapt.gen.nz>)others
d1b89c8
] - 🐛 FIX: Keep statusCode on HttpClientResponse for compatibility (#392) (fengmk2 <fengmk2@gmail.com>)others
e29fd00
] - 🐛 FIX: Alias reqMeta.options to reqMeta.args (#391) (fengmk2 <fengmk2@gmail.com>)others
d5a0e66
] - 📦 NEW: Support digest auth (#390) (fengmk2 <fengmk2@gmail.com>)others
b730bbd
] - 🐛 FIX: Should deps tslib (#389) (fengmk2 <fengmk2@gmail.com>)others
d101f13
] - 🐛 FIX: export getGlobalDispatcher (#387) (fengmk2 <fengmk2@gmail.com>)others
3bc7461
] - 📦 NEW: Enable Mocking request from undici (#386) (fengmk2 <fengmk2@gmail.com>)2ef38b9
] - 📖 DOC: Change History (fengmk2 <fengmk2@gmail.com>)others
a16deb5
] - 🐛 FIX: should export USER_AGENT (#385) (fengmk2 <fengmk2@gmail.com>)122d4a6
] - 📖 DOC: Add Benchmarks result (fengmk2 <fengmk2@gmail.com>)others
20944ee
] - 📦 NEW: Support request and response events (fengmk2 <fengmk2@gmail.com>)f01c264
] - 📦 NEW: Support HttpClient with rejectUnauthorized (fengmk2 <fengmk2@gmail.com>)61a915c
] - 📦 NEW: Support options.auth (fengmk2 <fengmk2@gmail.com>)cb084d9
] - 📦 NEW: Support custom lookup and checkAddress (fengmk2 <fengmk2@gmail.com>)cc1c854
] - 📦 NEW: Support options.opaque = object (fengmk2 <fengmk2@gmail.com>)f07c9f8
] - 📦 NEW: Support options.timing = true (fengmk2 <fengmk2@gmail.com>)70a75c6
] - 📦 NEW: Support options.compressed instead of gzip (fengmk2 <fengmk2@gmail.com>)936bc01
] - 👌 IMPROVE: Support Node.js 14 (fengmk2 <fengmk2@gmail.com>)eb6c319
] - 📦 NEW: Support auto retry like HttpClient2 (fengmk2 <fengmk2@gmail.com>)b07a45e
] - 👌 IMPROVE: Use brotli instead of deflate (fengmk2 <fengmk2@gmail.com>)a8876f2
] - 🤖 TEST: Big stream timeout (fengmk2 <fengmk2@gmail.com>)6b5a4f1
] - 📦 NEW: Use request instead of fetch (fengmk2 <fengmk2@gmail.com>)c1218c5
] - 🐛 FIX: Try to use Readable first (fengmk2 <fengmk2@gmail.com>)a67d9d1
] - 🐛 FIX: Dont parse empty data to json (fengmk2 <fengmk2@gmail.com>)2882f0e
] - 🤖 TEST: Error cases for stream and writeStream (fengmk2 <fengmk2@gmail.com>)57ccc7e
] - 📦 NEW: Support options.streaming = true (fengmk2 <fengmk2@gmail.com>)f2ca7eb
] - 📦 NEW: Support fixJSONCtlChars (fengmk2 <fengmk2@gmail.com>)f5390f2
] - 📦 NEW: TS compiler both Commonjs and ESM support (fengmk2 <fengmk2@gmail.com>)c3cc765
] - 📦 NEW: Support upload file by args.files (fengmk2 <fengmk2@gmail.com>)70a238d
] - 🤖 TEST: Use jest and ts (fengmk2 <fengmk2@gmail.com>)26c44b7
] - 📦 NEW: [BREAKING] Refactor impl base on undici (fengmk2 <fengmk2@gmail.com>)fixes
f343daa
] - fix: ignore request error if request is done (#384) (killa <killa123@126.com>)others
518d22c
] - Create codeql-analysis.yml (fengmk2 <fengmk2@gmail.com>)7daf2fa
] - chore: update contributors (fengmk2 <fengmk2@gmail.com>)20451f2
] - test: add tsd for timing interface (#377) (fengmk2 <fengmk2@gmail.com>)f662c2b
] - chore: update contributors (fengmk2 <fengmk2@gmail.com>)others
6d19f99
] - tsd: add timing interface (#375) (弘树@阿里 <dickeylth@users.noreply.github.com>)9c9c65b
] - test: check TypeScript type definitions (#373) (fengmk2 <fengmk2@gmail.com>)fixes
1e6622a
] - fix: upgrade proxy-agent to fix the security vulnerability. (#368) (hyj1991 <yeekwanvong@gmail.com>)others
ae27498
] - docs: notes contentType's value (#349) (changzhi <changzhiwin@gmail.com>)fixes
b730a6c
] - fix: 🐛 redirect status code (#363) (Hongcai Deng <admin@dhchouse.com>)fixes
04734a1
] - fix: 🐛 should trigger response event when follow redirect (#361) (Hongcai Deng <admin@dhchouse.com>)others
d50afda
] - Update proxy-agent to v4 to resolve vulnerability (#355) (Chad McElligott <chad.mcelligott@gmail.com>)features
2acf75b
] - feat: add unix domain socket file support (#352) (Khaidi Chu <i@2333.moe>)others
f2a42d1
] - chore: LICENSE link typo (fengmk2 <fengmk2@gmail.com>)28a0152
] - chore: update contributors (fengmk2 <fengmk2@gmail.com>)5674670
] - test: add socket checker test case (#341) (fengmk2 <fengmk2@gmail.com>)d953ec0
] - test: add testcase for using retry and writeStream in HttpClient2 (#350) (Haoliang Gao <sakura9515@gmail.com>)others
35eecc0
] - chore: add type declaration for RequestOptions#keepHeaderCase (#345) (William <willizm.cn@gmail.com>)fixes
15c4170
] - fix: allow to keep origin header key case (#344) (TZ | 天猪 <atian25@qq.com>)others
31c03b8
] - chore: Update and rename LICENSE.txt to LICENSE (#343) (Yuxiang LIU <david-khala@hotmail.com>)features
47c21bd
] - feat: change header to lowercase (#337) (TZ | 天猪 <atian25@qq.com>)fixes
8f2ca64
] - fix: need to handle response data on close event (#340) (fengmk2 <fengmk2@gmail.com>)175ad2b
] - fix: res.socket is null in node-v14.x (#339) (hyj1991 <yeekwanvong@gmail.com>)fixes
67d5b1c
] - fix: index.d.ts (#334) (Daniels.Sun <better.sunjian@gmail.com>)fixes
3da9339
] - fix: rejectUnauthorized under Node.js 12 (#328) (Khaidi Chu <i@2333.moe>)others
061f600
] - test: add a test case for posting xml data to reflect #69 (#324) (Jeff <jeff.tian@outlook.com>)features
11f5d34
] - feat: support multipart/form-data by default (#322) (fengmk2 <fengmk2@gmail.com>)others
3c24781
] - chore: update contributors (fengmk2 <fengmk2@gmail.com>)fixes
1f9566c
] - fix: don't parse URL on node 4 (#321) (fengmk2 <fengmk2@gmail.com>)3384e53
] - fix: normalize url with WHATWG URL to solve #319 (#320) (Chen Yangjian <252317+cyjake@users.noreply.github.com>)others
e08f71a
] - upgrade: proxy-agent@3.1.0 (#315) (薛定谔的猫 <weiran.zsd@outlook.com>)fixes
a2a8a1d
] - fix: only copy enumerable and ownProperty value of args.headers (#313) (fengmk2 <fengmk2@gmail.com>)fixes
f8091ce
] - fix: cancel connect timer when done is called (Daniel Wang <danielwpz@gmail.com>)features
a5df9d5
] - feat: add typescript definition (#308) (Haoliang Gao <sakura9515@gmail.com>)others
47ad864
] - test: add test case for streaming timeout (#307) (Yiyu He <dead_horse@qq.com>)features
a42445e
] - feat: Expose status message from original Response (#306) (GP ✅ <exchequer598@gmail.com>)fixes
98a1622
] - fix: ensure timeout error is handled when request with stream (#305) (Yiyu He <dead_horse@qq.com>)others
2bb86c0
] - test: only use junit report on azure-pipelines (#304) (fengmk2 <fengmk2@gmail.com>)bd869c7
] - test: Publish test results to Azure Pipelines (#303) (Rishav Sharan <rishav.sharan@microsoft.com>)fixes
227618a
] - fix: allow agent set to null (#301) (fengmk2 <fengmk2@gmail.com>)fixes
83fc316
] - fix: Omit the 'Accept-Encoding' header if it is explicitly set to 'null' (#298) (GP ✅ <exchequer598@gmail.com>)36c24c3
] - fix: should autofix socket timeout by request.timeout (#300) (fengmk2 <fengmk2@gmail.com>)features
28c38d2
] - feat: support agentkeepalive@4 (#297) (fengmk2 <fengmk2@gmail.com>)c79eefc
] - feat: Do not set User-Agent if the header is explicitly set to null (GP <exchequer598@gmail.com>)features
b760530
] - feat: implement trace option like mysql client (#290) (killa <killa123@126.com>)others
5e80ee8
] - test: run ci on azure-pipelines (#292) (azure-pipelines[bot] <<azure-pipelines[bot]@users.noreply.github.com>>)fixes
ab39245
] - fix: keep exists accept header on dataType = json (#289) (fengmk2 <fengmk2@gmail.com>)features
4ca0c48
] - feat: add socket handled request and response count (#288) (fengmk2 <fengmk2@gmail.com>)fixes
6bc31b9
] - fix: use pump to close request stream (#287) (fengmk2 <fengmk2@gmail.com>)others
8087683
] - test: add node 10 support (#285) (fengmk2 <fengmk2@gmail.com>)features
c0221ff
] - feat: support deflate compress for response (#283) (iSayme <isaymeorg@gmail.com>)others
60ea1f6
] - test: update url, the /:package/* not avalable anymore (#284) (iSayme <isaymeorg@gmail.com>)features
a6c93fd
] - feat: support args.checkAddress (#279) (Yiyu He <dead_horse@qq.com>)features
d6e7c58
] - feat: support Keep-Alive Header (#275) (fengmk2 <fengmk2@gmail.com>)fixes
9c496a0
] - fix: Changed to "new (require('proxy-agent'))(proxy)" (#273) (Nick Ng <nick-ng@users.noreply.github.com>)fixes
e3df75e
] - fix: res.requestUrls should be string array (#271) (hui <kangpangpang@gmail.com>)fixes
2df6906
] - fix: make sure request event url should be a string (#270) (hui <kangpangpang@gmail.com>)fixes
ac9bc64
] - fix: don't change args.headers (#267) (fengmk2 <fengmk2@gmail.com>)others
b798546
] - docs: fixed spelling mistake (#266) (Axes <whxaxes@qq.com>)features
95cabd6
] - feat: support custom fixJSONCtlChars function (#264) (fengmk2 <fengmk2@gmail.com>)dataAsQueryString
params for convert data to query string (#240)location: /foo
redirectresponse
event. fixed #35options.gzip = true
to handle gzip response. fixed #26response.end()
was calledresponse.end()
was called, res.aborted
should be true
. fixed #14http://user:password@http://demo.com
.