feat: support for sending xml and text request body (resolves #10)

This commit is contained in:
Anoop M D
2022-10-02 04:58:43 +05:30
parent 6e926f0ba6
commit 7f0f496bb4
8 changed files with 156 additions and 18 deletions

View File

@@ -343,6 +343,20 @@ export const collectionsSlice = createSlice({
}
}
},
updateRequestBodyMode: (state, action) => {
const collection = findCollectionByUid(state.collections, action.payload.collectionUid);
if(collection) {
const item = findItemInCollection(collection, action.payload.itemUid);
if(item && isItemARequest(item)) {
if(!item.draft) {
item.draft = cloneDeep(item);
}
item.draft.request.body.mode = action.payload.mode;
}
}
},
updateRequestBody: (state, action) => {
const collection = findCollectionByUid(state.collections, action.payload.collectionUid);
@@ -353,9 +367,27 @@ export const collectionsSlice = createSlice({
if(!item.draft) {
item.draft = cloneDeep(item);
}
item.draft.request.body = {
mode: action.payload.mode,
content: action.payload.content
switch(item.draft.request.body.mode) {
case 'json': {
item.draft.request.body.json = action.payload.content;
break;
}
case 'text': {
item.draft.request.body.text = action.payload.content;
break;
}
case 'xml': {
item.draft.request.body.xml = action.payload.content;
break;
}
case 'formUrlEncoded': {
item.draft.request.body.formUrlEncoded = action.payload.content;
break;
}
case 'multipartForm': {
item.draft.request.body.multipartForm = action.payload.content;
break;
}
}
}
}
@@ -397,6 +429,7 @@ export const {
addRequestHeader,
updateRequestHeader,
deleteRequestHeader,
updateRequestBodyMode,
updateRequestBody,
updateRequestMethod
} = collectionsSlice.actions;
@@ -520,7 +553,11 @@ export const newHttpRequest = (params) => (dispatch, getState) => {
headers: [],
body: {
mode: 'none',
content: ''
json: null,
text: null,
xml: null,
multipartForm: null,
formUrlEncoded: null
}
}
};