Fix issue with key expiring and not updating correctly
This commit is contained in:
parent
db2481cf0e
commit
2ca46b595b
1 changed files with 11 additions and 2 deletions
|
@ -57,8 +57,17 @@ async function apiCall(widget, endpoint, service) {
|
||||||
return { status, contentType, data: null, responseHeaders };
|
return { status, contentType, data: null, responseHeaders };
|
||||||
}
|
}
|
||||||
|
|
||||||
const dataDecoded = xml2json(data.toString(), { compact: true });
|
let dataDecoded = JSON.parse(xml2json(data.toString(), { compact: true }).toString());
|
||||||
return { status, contentType, data: JSON.parse(dataDecoded.toString()), responseHeaders };
|
|
||||||
|
if (dataDecoded.QDocRoot.authPassed._cdata === '0') {
|
||||||
|
logger.error("QNAP API rejected the request, attempting to obtain new session token");
|
||||||
|
key = await login(widget, service);
|
||||||
|
apiUrl = new URL(formatApiCall(`${endpoint}&sid=${key}`, widget));
|
||||||
|
[status, contentType, data, responseHeaders] = await httpProxy(apiUrl);
|
||||||
|
dataDecoded = JSON.parse(xml2json(data.toString(), { compact: true }).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return { status, contentType, data: dataDecoded, responseHeaders };
|
||||||
}
|
}
|
||||||
|
|
||||||
export default async function qnapProxyHandler(req, res) {
|
export default async function qnapProxyHandler(req, res) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue