Skip to content

Commit 3b94706

Browse files
authored
Merge pull request #52 from bboure/fix/http-params
2 parents 38ef58d + 18c989c commit 3b94706

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

src/data-loaders/HttpDataLoader.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,33 @@
11
import axios from 'axios';
2+
import { isObject, forEach } from 'lodash';
3+
4+
const paramsSerializer = (params) => {
5+
const parts = [];
6+
7+
forEach(params, (value, key) => {
8+
if (value === null || typeof value === 'undefined') {
9+
return;
10+
}
11+
12+
let k = key;
13+
let v = value;
14+
if (Array.isArray(v)) {
15+
k += '[]';
16+
} else {
17+
v = [v];
18+
}
19+
20+
forEach(v, (val) => {
21+
let finalValue = val;
22+
if (isObject(finalValue)) {
23+
finalValue = JSON.stringify(finalValue);
24+
}
25+
parts.push(`${k}=${finalValue}`);
26+
});
27+
});
28+
29+
return parts.join('&');
30+
};
231

332
export default class HttpDataLoader {
433
constructor(config) {
@@ -13,6 +42,7 @@ export default class HttpDataLoader {
1342
url: req.resourcePath,
1443
headers: req.params.headers,
1544
params: req.params.query,
45+
paramsSerializer,
1646
method: req.method.toLowerCase(),
1747
data: req.params.body,
1848
});

0 commit comments

Comments
 (0)