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, "&"), 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) { if (widget.username && widget.password) {
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`; 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.port ? `:${url.port}` : "",
url.pathname, 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); return res.status(status).send(resultData);

View File

@ -54,7 +54,7 @@ export default async function beszelProxyHandler(req, res) {
if (!token) { if (!token) {
[status, token] = await login(loginUrl, widget.username, widget.password, service); [status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) { 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); return res.status(status).send(token);
} }
} }
@ -68,12 +68,12 @@ export default async function beszelProxyHandler(req, res) {
}); });
if (status === 403) { 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}`); cache.del(`${tokenCacheKey}.${service}`);
[status, token] = await login(loginUrl, widget.username, widget.password, service); [status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) { 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); 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 (contentType) res.setHeader("Content-Type", contentType);
if (status !== 200) { 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); return res.status(status).send(data);
} }

View File

@ -56,7 +56,7 @@ export default async function npmProxyHandler(req, res) {
if (!token) { if (!token) {
[status, token] = await login(loginUrl, widget.username, widget.password, service); [status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) { 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); return res.status(status).send(token);
} }
} }
@ -70,12 +70,12 @@ export default async function npmProxyHandler(req, res) {
}); });
if (status === 403) { 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}`); cache.del(`${tokenCacheKey}.${service}`);
[status, token] = await login(loginUrl, widget.username, widget.password, service); [status, token] = await login(loginUrl, widget.username, widget.password, service);
if (status !== 200) { 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); return res.status(status).send(data);
} }

View File

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