mirror of
https://github.com/gethomepage/homepage.git
synced 2026-01-13 20:52:45 +08:00
Run pre-commit hooks over existing codebase
Co-Authored-By: Ben Phelps <ben@phelps.io>
This commit is contained in:
@@ -19,10 +19,12 @@ export default async function genericProxyHandler(req, res, map) {
|
||||
|
||||
if (widget) {
|
||||
// if there are more than one question marks, replace others to &
|
||||
const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget }).replace(/(?<=\?.*)\?/g, '&'));
|
||||
const url = new URL(
|
||||
formatApiCall(widgets[widget.type].api, { endpoint, ...widget }).replace(/(?<=\?.*)\?/g, "&"),
|
||||
);
|
||||
|
||||
const headers = req.extraHeaders ?? widget.headers ?? {};
|
||||
|
||||
|
||||
if (widget.username && widget.password) {
|
||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
||||
}
|
||||
@@ -30,7 +32,7 @@ export default async function genericProxyHandler(req, res, map) {
|
||||
const params = {
|
||||
method: widget.method ?? req.method,
|
||||
headers,
|
||||
}
|
||||
};
|
||||
if (req.body) {
|
||||
params.body = req.body;
|
||||
}
|
||||
@@ -38,14 +40,16 @@ export default async function genericProxyHandler(req, res, map) {
|
||||
const [status, contentType, data] = await httpProxy(url, params);
|
||||
|
||||
let resultData = data;
|
||||
|
||||
|
||||
if (resultData.error?.url) {
|
||||
resultData.error.url = sanitizeErrorURL(url);
|
||||
}
|
||||
|
||||
|
||||
if (status === 200) {
|
||||
if (!validateWidgetData(widget, endpoint, resultData)) {
|
||||
return res.status(status).json({error: {message: "Invalid data", url: sanitizeErrorURL(url), data: resultData}});
|
||||
return res
|
||||
.status(status)
|
||||
.json({ error: { message: "Invalid data", url: sanitizeErrorURL(url), data: resultData } });
|
||||
}
|
||||
if (map) resultData = map(resultData);
|
||||
}
|
||||
@@ -62,10 +66,10 @@ export default async function genericProxyHandler(req, res, map) {
|
||||
status,
|
||||
url.protocol,
|
||||
url.hostname,
|
||||
url.port ? `:${url.port}` : '',
|
||||
url.pathname
|
||||
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 } });
|
||||
}
|
||||
|
||||
return res.status(status).send(resultData);
|
||||
|
||||
Reference in New Issue
Block a user