feat: support for sending url encoded params (resolves #11)

This commit is contained in:
Anoop M D
2022-10-03 00:41:25 +05:30
parent 7f0f496bb4
commit bd153bf849
8 changed files with 261 additions and 3 deletions

View File

@@ -128,6 +128,18 @@ export const transformCollectionToSaveToIdb = (collection, options = {}) => {
});
};
const copyFormUrlEncodedParams = (params = []) => {
return map(params, (param) => {
return {
uid: param.uid,
name: param.name,
value: param.value,
description: param.description,
enabled: param.enabled
}
});
};
const copyItems = (sourceItems, destItems) => {
each(sourceItems, (si) => {
const di = {
@@ -151,7 +163,7 @@ export const transformCollectionToSaveToIdb = (collection, options = {}) => {
text: si.draft.request.body.text,
xml: si.draft.request.body.xml,
multipartForm: si.draft.request.body.multipartForm,
xmformUrlEncodedl: si.draft.request.body.formUrlEncoded
formUrlEncoded: copyFormUrlEncodedParams(si.draft.request.body.formUrlEncoded)
}
};
}
@@ -168,7 +180,7 @@ export const transformCollectionToSaveToIdb = (collection, options = {}) => {
text: si.request.body.text,
xml: si.request.body.xml,
multipartForm: si.request.body.multipartForm,
xmformUrlEncodedl: si.request.body.formUrlEncoded
formUrlEncoded: copyFormUrlEncodedParams(si.request.body.formUrlEncoded)
}
}
};

View File

@@ -1,4 +1,6 @@
import each from 'lodash/each';
import filter from 'lodash/filter';
import qs from 'qs';
import { rawRequest, gql } from 'graphql-request';
const sendNetworkRequest = async (item) => {
@@ -58,8 +60,16 @@ const sendHttpRequest = async (request) => {
options.data = request.body.xml;
}
if(request.body.mode === 'formUrlEncoded') {
options.headers['Content-Type'] = 'application/x-www-form-urlencoded';
const params = {};
const enabledParams = filter(request.body.formUrlEncoded, p => p.enabled);
each(enabledParams, (p) => params[p.name] = p.value);
options.data = qs.stringify(params);
}
console.log('>>> Sending Request');
console.log(request);
console.log(options);
ipcRenderer
.invoke('send-http-request', options)