Skip to content

Commit aa1c47e

Browse files
committed
fix: fetch should not clean null or undefined body
1 parent 5bb1908 commit aa1c47e

File tree

3 files changed

+8
-46
lines changed

3 files changed

+8
-46
lines changed

packages/fetch/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
"testEnvironment": "node"
2727
},
2828
"dependencies": {
29-
"clean-deep": "^3.0.2",
3029
"decode-uri-component": "^0.2.0",
3130
"http-errors": "^1.7.1",
3231
"lodash": "^4.17.11",

packages/fetch/src/wrapper.js

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { stringify } from "./query-string";
2-
import clean from "clean-deep";
32

43
/**
54
* A wrapper of fetch
@@ -9,27 +8,22 @@ import clean from "clean-deep";
98
* @returns {Promise<object>} result {body, headers}
109
*/
1110
export default async function(url, opt = {}) {
12-
let { query, body, headers = {} } = clean(opt);
13-
let endpoint = query
14-
? `${url}?${stringify(query, { skipNulls: true })}`
15-
: url;
11+
let { query, body, headers = {} } = opt;
12+
const search = stringify(query, { skipNulls: true });
13+
const endpoint = search ? `${url}?${search}` : url;
1614

1715
if (body) body = JSON.stringify(body);
18-
1916
headers = {
2017
Accept: "application/json",
2118
"Content-Type": "application/json",
2219
...headers,
2320
};
2421

25-
const res = await fetch(
26-
endpoint,
27-
clean({
28-
...opt,
29-
body,
30-
headers,
31-
})
32-
);
22+
const res = await fetch(endpoint, {
23+
...opt,
24+
body,
25+
headers,
26+
});
3327

3428
const result = { headers: {} };
3529
if (res.statusText === "No Content") {

yarn.lock

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"@36node/babel@0.2.0":
66
version "0.2.0"
77
resolved "http://registry.npm.taobao.org/@36node/babel/download/@36node/babel-0.2.0.tgz#1abcf2ea9fc1fcd90730787a6308e2d90552e2a7"
8-
integrity sha1-Grzy6p/B/NkHMHh6Ywji2QVS4qc=
98
dependencies:
109
babel-cli "6.26.0"
1110
babel-core "6.26.0"
@@ -19,7 +18,6 @@
1918
"@36node/eslint-config@0.3.0":
2019
version "0.3.0"
2120
resolved "http://registry.npm.taobao.org/@36node/eslint-config/download/@36node/eslint-config-0.3.0.tgz#0bb24cffd04b62f2ae3c355ac0b1b09f32c76aeb"
22-
integrity sha1-C7JM/9BLYvKuPDVawLGwnzLHaus=
2321
dependencies:
2422
eslint "4.10.0"
2523
eslint-config-prettier "^3.1.0"
@@ -1425,7 +1423,6 @@
14251423
"@storybook/addon-actions@4.0.6":
14261424
version "4.0.6"
14271425
resolved "http://registry.npm.taobao.org/@storybook/addon-actions/download/@storybook/addon-actions-4.0.6.tgz#7dd73f2308cef35a1de6d63e200b878c1acc88d5"
1428-
integrity sha1-fdc/IwjO81od5tY+IAuHjBrMiNU=
14291426
dependencies:
14301427
"@emotion/core" "^0.13.1"
14311428
"@emotion/provider" "^0.11.2"
@@ -1444,7 +1441,6 @@
14441441
"@storybook/addon-links@4.0.6":
14451442
version "4.0.6"
14461443
resolved "http://registry.npm.taobao.org/@storybook/addon-links/download/@storybook/addon-links-4.0.6.tgz#63a2735005195c06f367cd9132a8b9c3065c9eac"
1447-
integrity sha1-Y6JzUAUZXAbzZ82RMqi5wwZcnqw=
14481444
dependencies:
14491445
"@storybook/addons" "4.0.6"
14501446
"@storybook/components" "4.0.6"
@@ -1455,7 +1451,6 @@
14551451
"@storybook/addons@4.0.6":
14561452
version "4.0.6"
14571453
resolved "http://registry.npm.taobao.org/@storybook/addons/download/@storybook/addons-4.0.6.tgz#4af486c113145c46bbe0d8b5cf6efa04d005a00a"
1458-
integrity sha1-SvSGwRMUXEa74Ni1z276BNAFoAo=
14591454
dependencies:
14601455
"@storybook/channels" "4.0.6"
14611456
"@storybook/components" "4.0.6"
@@ -1465,7 +1460,6 @@
14651460
"@storybook/channel-postmessage@4.0.6":
14661461
version "4.0.6"
14671462
resolved "http://registry.npm.taobao.org/@storybook/channel-postmessage/download/@storybook/channel-postmessage-4.0.6.tgz#8fe6261926b21b5349c3f27d1a356ec0e11b6fff"
1468-
integrity sha1-j+YmGSayG1NJw/J9GjVuwOEbb/8=
14691463
dependencies:
14701464
"@storybook/channels" "4.0.6"
14711465
global "^4.3.2"
@@ -1474,17 +1468,14 @@
14741468
"@storybook/channels@4.0.6":
14751469
version "4.0.6"
14761470
resolved "http://registry.npm.taobao.org/@storybook/channels/download/@storybook/channels-4.0.6.tgz#479211c776fae9837d1537dd5468cfdf405ed49f"
1477-
integrity sha1-R5IRx3b66YN9FTfdVGjP30Be1J8=
14781471

14791472
"@storybook/client-logger@4.0.6":
14801473
version "4.0.6"
14811474
resolved "http://registry.npm.taobao.org/@storybook/client-logger/download/@storybook/client-logger-4.0.6.tgz#4c75fb555ac0c8ca6b543c9e0b6ee067d64c7d6f"
1482-
integrity sha1-THX7VVrAyMprVDyeC27gZ9ZMfW8=
14831475

14841476
"@storybook/components@4.0.6":
14851477
version "4.0.6"
14861478
resolved "http://registry.npm.taobao.org/@storybook/components/download/@storybook/components-4.0.6.tgz#9ff82a5b280295203f5ebabe1fb9668d7cf0e1b6"
1487-
integrity sha1-n/gqWygClSA/Xrq+H7lmjXzw4bY=
14881479
dependencies:
14891480
"@emotion/core" "^0.13.1"
14901481
"@emotion/provider" "^0.11.2"
@@ -1500,12 +1491,10 @@
15001491
"@storybook/core-events@4.0.6":
15011492
version "4.0.6"
15021493
resolved "http://registry.npm.taobao.org/@storybook/core-events/download/@storybook/core-events-4.0.6.tgz#4023ac7caba3f087ff5572b807aa6d6cd102f560"
1503-
integrity sha1-QCOsfKuj8If/VXK4B6ptbNEC9WA=
15041494

15051495
"@storybook/core@4.0.6":
15061496
version "4.0.6"
15071497
resolved "http://registry.npm.taobao.org/@storybook/core/download/@storybook/core-4.0.6.tgz#592dbb2de0e70ff0eca47d70bb4c1797dc8d25af"
1508-
integrity sha1-WS27LeDnD/DspH1wu0wXl9yNJa8=
15091498
dependencies:
15101499
"@babel/plugin-proposal-class-properties" "^7.1.0"
15111500
"@babel/plugin-transform-regenerator" "^7.0.0"
@@ -1578,7 +1567,6 @@
15781567
"@storybook/node-logger@4.0.6":
15791568
version "4.0.6"
15801569
resolved "http://registry.npm.taobao.org/@storybook/node-logger/download/@storybook/node-logger-4.0.6.tgz#d31d185219d110645f8f97679e21a3820bf66388"
1581-
integrity sha1-0x0YUhnREGRfj5dnniGjggv2Y4g=
15821570
dependencies:
15831571
"@babel/runtime" "^7.1.2"
15841572
npmlog "^4.1.2"
@@ -1618,7 +1606,6 @@
16181606
"@storybook/react@4.0.6":
16191607
version "4.0.6"
16201608
resolved "http://registry.npm.taobao.org/@storybook/react/download/@storybook/react-4.0.6.tgz#1f44cf1571c02811361214bf8399286ea6cc61d3"
1621-
integrity sha1-H0TPFXHAKBE2EhS/g5kobqbMYdM=
16221609
dependencies:
16231610
"@babel/preset-flow" "^7.0.0"
16241611
"@babel/preset-react" "^7.0.0"
@@ -1639,7 +1626,6 @@
16391626
"@storybook/ui@4.0.6":
16401627
version "4.0.6"
16411628
resolved "http://registry.npm.taobao.org/@storybook/ui/download/@storybook/ui-4.0.6.tgz#640bb40335484293f805e4ce83246368a1b9cf7c"
1642-
integrity sha1-ZAu0AzVIQpP4BeTOgyRjaKG5z3w=
16431629
dependencies:
16441630
"@emotion/core" "^0.13.1"
16451631
"@emotion/provider" "^0.11.2"
@@ -4535,14 +4521,6 @@ clean-css@4.2.x:
45354521
dependencies:
45364522
source-map "~0.6.0"
45374523

4538-
clean-deep@^3.0.2:
4539-
version "3.0.2"
4540-
resolved "https://registry.yarnpkg.com/clean-deep/-/clean-deep-3.0.2.tgz#1b7096822f289cc491ca6d85af5c028cbb22fc23"
4541-
dependencies:
4542-
lodash.isempty "^4.4.0"
4543-
lodash.isplainobject "^4.0.6"
4544-
lodash.transform "^4.6.0"
4545-
45464524
clean-stack@^1.0.0:
45474525
version "1.3.0"
45484526
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-1.3.0.tgz#9e821501ae979986c46b1d66d2d432db2fd4ae31"
@@ -6204,7 +6182,6 @@ escope@^3.6.0:
62046182
eslint-config-prettier@^3.1.0, eslint-config-prettier@^3.3.0:
62056183
version "3.3.0"
62066184
resolved "http://registry.npm.taobao.org/eslint-config-prettier/download/eslint-config-prettier-3.3.0.tgz#41afc8d3b852e757f06274ed6c44ca16f939a57d"
6207-
integrity sha1-Qa/I07hS51fwYnTtbETKFvk5pX0=
62086185
dependencies:
62096186
get-stdin "^6.0.0"
62106187

@@ -10084,10 +10061,6 @@ lodash.isboolean@^3.0.3:
1008410061
version "3.0.3"
1008510062
resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6"
1008610063

10087-
lodash.isempty@^4.4.0:
10088-
version "4.4.0"
10089-
resolved "http://registry.npmjs.org/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e"
10090-
1009110064
lodash.isequal@^4.0.0:
1009210065
version "4.5.0"
1009310066
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
@@ -10185,10 +10158,6 @@ lodash.topairs@4.3.0:
1018510158
version "4.3.0"
1018610159
resolved "https://registry.yarnpkg.com/lodash.topairs/-/lodash.topairs-4.3.0.tgz#3b6deaa37d60fb116713c46c5f17ea190ec48d64"
1018710160

10188-
lodash.transform@^4.6.0:
10189-
version "4.6.0"
10190-
resolved "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0"
10191-
1019210161
lodash.union@~4.6.0:
1019310162
version "4.6.0"
1019410163
resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"

0 commit comments

Comments
 (0)