From b81699903cfa2a5210cbad6615f6f50eb6411a81 Mon Sep 17 00:00:00 2001 From: leandrofars Date: Tue, 11 Jun 2024 22:31:56 -0300 Subject: [PATCH] feat(frontend): prettify xml + route for cwmp api --- .../src/sections/devices/cwmp/devices-rpc.js | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/frontend/src/sections/devices/cwmp/devices-rpc.js b/frontend/src/sections/devices/cwmp/devices-rpc.js index 2fdcad1..5406d32 100644 --- a/frontend/src/sections/devices/cwmp/devices-rpc.js +++ b/frontend/src/sections/devices/cwmp/devices-rpc.js @@ -51,13 +51,36 @@ const [value, setValue] = useState(` `) +var prettifyXml = function(sourceXml) +{ + var xmlDoc = new DOMParser().parseFromString(sourceXml, 'application/xml'); + var xsltDoc = new DOMParser().parseFromString([ + // describes how we want to modify the XML - indent everything + '', + ' ', + ' ', // change to just text() to strip space in text nodes + ' ', + ' ', + ' ', + ' ', + ' ', + ' ', + '', + ].join('\n'), 'application/xml'); + + var xsltProcessor = new XSLTProcessor(); + xsltProcessor.importStylesheet(xsltDoc); + var resultDoc = xsltProcessor.transformToDocument(xmlDoc); + var resultXml = new XMLSerializer().serializeToString(resultDoc); + return resultXml; +}; + const handleClose = () => { setOpen(false); }; const handleOpen = () => { setOpen(true); var myHeaders = new Headers(); - myHeaders.append("Content-Type", "application/json"); myHeaders.append("Authorization", localStorage.getItem("token")); var raw = value @@ -73,21 +96,21 @@ const handleOpen = () => { switch(age) { case 1: - method="add" + method="addObject" break; case 2: - method="get" + method="getParameterValues" break; case 3: - method="set" + method="setParameterValues" break; case 4: - method="del" + method="deleteObject" break; } - fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/any/${method}`, requestOptions) + fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/cwmp/${router.query.id[0]}/${method}`, requestOptions) .then(response => response.text()) .then(result => { if (result.status === 401){ @@ -95,7 +118,7 @@ const handleOpen = () => { } setOpen(false) setAnswer(true) - let teste = JSON.stringify(JSON.parse(result), null, 2) + let teste = prettifyXml(result) console.log(teste) setContent(teste) })