mirror of https://github.com/Seich/Beau.git
Fixed issue where an empty payload was changed to an empty object.
This commit is contained in:
parent
e140778393
commit
124d55d1ae
|
|
@ -24,9 +24,9 @@ exports[`Request should execute a request 2`] = `
|
||||||
Object {
|
Object {
|
||||||
"body": "{\\"hello\\": \\"world\\"}",
|
"body": "{\\"hello\\": \\"world\\"}",
|
||||||
"request": Object {
|
"request": Object {
|
||||||
"body": Object {},
|
"body": undefined,
|
||||||
"endpoint": "http://martianwabbit.com/user",
|
"endpoint": "http://martianwabbit.com/user",
|
||||||
"headers": Object {},
|
"headers": undefined,
|
||||||
},
|
},
|
||||||
"response": Object {
|
"response": Object {
|
||||||
"body": "{\\"hello\\": \\"world\\"}",
|
"body": "{\\"hello\\": \\"world\\"}",
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ Object {
|
||||||
"name": "Sergio",
|
"name": "Sergio",
|
||||||
},
|
},
|
||||||
"endpoint": "http://martianwabbit.com/user",
|
"endpoint": "http://martianwabbit.com/user",
|
||||||
"headers": Object {},
|
"headers": undefined,
|
||||||
},
|
},
|
||||||
"response": Object {
|
"response": Object {
|
||||||
"body": "{\\"hello\\": \\"world\\"}",
|
"body": "{\\"hello\\": \\"world\\"}",
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@ const {
|
||||||
httpVerbs,
|
httpVerbs,
|
||||||
requestRegex,
|
requestRegex,
|
||||||
replacementRegex,
|
replacementRegex,
|
||||||
UpperCaseKeys
|
UpperCaseKeys,
|
||||||
|
removeOptionalKeys
|
||||||
} = require('./shared');
|
} = require('./shared');
|
||||||
const RequestList = require('./requestList');
|
const RequestList = require('./requestList');
|
||||||
const RequestCache = require('./requestCache');
|
const RequestCache = require('./requestCache');
|
||||||
|
|
@ -81,17 +82,23 @@ class Request {
|
||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await request({
|
const response = await request(
|
||||||
url: settings.endpoint,
|
removeOptionalKeys(
|
||||||
method: settings.method,
|
{
|
||||||
headers: settings.headers,
|
url: settings.endpoint,
|
||||||
qs: settings.query,
|
method: settings.method,
|
||||||
body: settings.payload,
|
|
||||||
|
|
||||||
json: true,
|
headers: settings.headers,
|
||||||
simple: false,
|
qs: settings.query,
|
||||||
resolveWithFullResponse: true
|
body: settings.payload,
|
||||||
});
|
|
||||||
|
json: true,
|
||||||
|
simple: false,
|
||||||
|
resolveWithFullResponse: true
|
||||||
|
},
|
||||||
|
['headers', 'qs', 'body']
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
const results = {
|
const results = {
|
||||||
request: {
|
request: {
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,28 @@ const UpperCaseKeys = function(obj) {
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const removeOptionalKeys = function(obj, optionalValues) {
|
||||||
|
let result = {};
|
||||||
|
|
||||||
|
Object.keys(obj).forEach(key => {
|
||||||
|
if (
|
||||||
|
optionalValues.includes(key) &&
|
||||||
|
(Object.keys(obj[key]).length === 0 &&
|
||||||
|
obj[key].constructor === Object)
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
result[key] = obj[key];
|
||||||
|
});
|
||||||
|
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
httpVerbs,
|
httpVerbs,
|
||||||
requestRegex,
|
requestRegex,
|
||||||
replacementRegex,
|
replacementRegex,
|
||||||
UpperCaseKeys
|
UpperCaseKeys,
|
||||||
|
removeOptionalKeys
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue