From 9ee6f9a8cc4601ea850895ad8928e8b88240426b Mon Sep 17 00:00:00 2001 From: tlaloc911 <29415755+tlaloc911@users.noreply.github.com> Date: Tue, 9 Apr 2024 15:16:45 -0600 Subject: [PATCH] Add pretty option to xml request content (#1914) Co-authored-by: Anoop M D --- .../RequestBody/RequestBodyMode/index.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/bruno-app/src/components/RequestPane/RequestBody/RequestBodyMode/index.js b/packages/bruno-app/src/components/RequestPane/RequestBody/RequestBodyMode/index.js index b826ca9cf..e60a83450 100644 --- a/packages/bruno-app/src/components/RequestPane/RequestBody/RequestBodyMode/index.js +++ b/packages/bruno-app/src/components/RequestPane/RequestBody/RequestBodyMode/index.js @@ -9,6 +9,7 @@ import StyledWrapper from './StyledWrapper'; import { updateRequestBody } from 'providers/ReduxStore/slices/collections/index'; import { toastError } from 'utils/common/error'; import { parse, stringify } from 'lossless-json'; +import xmlFormat from 'xml-formatter'; const RequestBodyMode = ({ item, collection }) => { const dispatch = useDispatch(); @@ -50,6 +51,19 @@ const RequestBodyMode = ({ item, collection }) => { } catch (e) { toastError(new Error('Unable to prettify. Invalid JSON format.')); } + } else if (body?.xml && bodyMode === 'xml') { + try { + const prettyBodyXML = xmlFormat(body.xml, { collapseContent: true }); + dispatch( + updateRequestBody({ + content: prettyBodyXML, + itemUid: item.uid, + collectionUid: collection.uid + }) + ); + } catch (e) { + toastError(new Error('Unable to prettify. Invalid XML format.')); + } } }; @@ -125,7 +139,7 @@ const RequestBodyMode = ({ item, collection }) => { - {bodyMode === 'json' && ( + {(bodyMode === 'json' || bodyMode === 'xml') && (