Merge branch 'gethomepage:dev' into integration

This commit is contained in:
djeinstine 2024-11-13 10:33:10 +01:00 committed by GitHub
commit c32f1f1d59
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 16 additions and 10 deletions

View File

@ -23,7 +23,7 @@ export default async function genericProxyHandler(req, res, map) {
formatApiCall(widgets[widget.type].api, { endpoint, ...widget }).replace(/(?<=\?.*)\?/g, "&"),
);
const headers = req.extraHeaders ?? widget.headers ?? {};
const headers = req.extraHeaders ?? widget.headers ?? widgets[widget.type].headers ?? {};
if (widget.username && widget.password) {
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
@ -75,7 +75,13 @@ export default async function genericProxyHandler(req, res, map) {
url.port ? `:${url.port}` : "",
url.pathname,
);
return res.status(status).json({ error: { message: "HTTP Error", url: sanitizeErrorURL(url), resultData } });
return res.status(status).json({
error: {
message: "HTTP Error",
url: sanitizeErrorURL(url),
resultData: Buffer.isBuffer(resultData) ? Buffer.from(resultData).toString() : resultData,
},
});
}
return res.status(status).send(resultData);

View File

@ -54,7 +54,7 @@ export default async function beszelProxyHandler(req, res) {
if (!token) {
[status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) {
logger.debug(`HTTTP ${status} logging into npm api: ${token}`);
logger.debug(`HTTP ${status} logging into npm api: ${token}`);
return res.status(status).send(token);
}
}
@ -68,12 +68,12 @@ export default async function beszelProxyHandler(req, res) {
});
if (status === 403) {
logger.debug(`HTTTP ${status} retrieving data from npm api, logging in and trying again.`);
logger.debug(`HTTP ${status} retrieving data from npm api, logging in and trying again.`);
cache.del(`${tokenCacheKey}.${service}`);
[status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) {
logger.debug(`HTTTP ${status} logging into npm api: ${data}`);
logger.debug(`HTTP ${status} logging into npm api: ${data}`);
return res.status(status).send(data);
}

View File

@ -21,7 +21,7 @@ export default async function calendarProxyHandler(req, res) {
if (contentType) res.setHeader("Content-Type", contentType);
if (status !== 200) {
logger.debug(`HTTTP ${status} retrieving data from integration URL ${integration.url} : ${data}`);
logger.debug(`HTTP ${status} retrieving data from integration URL ${integration.url} : ${data}`);
return res.status(status).send(data);
}

View File

@ -56,7 +56,7 @@ export default async function npmProxyHandler(req, res) {
if (!token) {
[status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) {
logger.debug(`HTTTP ${status} logging into npm api: ${token}`);
logger.debug(`HTTP ${status} logging into npm api: ${token}`);
return res.status(status).send(token);
}
}
@ -70,12 +70,12 @@ export default async function npmProxyHandler(req, res) {
});
if (status === 403) {
logger.debug(`HTTTP ${status} retrieving data from npm api, logging in and trying again.`);
logger.debug(`HTTP ${status} retrieving data from npm api, logging in and trying again.`);
cache.del(`${tokenCacheKey}.${service}`);
[status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) {
logger.debug(`HTTTP ${status} logging into npm api: ${data}`);
logger.debug(`HTTP ${status} logging into npm api: ${data}`);
return res.status(status).send(data);
}

View File

@ -138,7 +138,7 @@ export default async function omadaProxyHandler(req, res) {
const sitesResponseData = JSON.parse(data);
if (status !== 200 || sitesResponseData.errorCode > 0) {
logger.debug(`HTTTP ${status} getting sites list: ${sitesResponseData.msg}`);
logger.debug(`HTTP ${status} getting sites list: ${sitesResponseData.msg}`);
return res
.status(status)
.json({ error: { message: "Error getting sites list", url, data: sitesResponseData } });