Remove pages/api/proxy.js as it was an open proxy

- The only location pages/api/proxy was used was for icon loading in item.jsx, simply returning the icon URL instead worked just fine.  There was no need to proxy icon requests.

fixes: #327
pull/328/head
Jason Fischer 2 years ago
parent 4503612bf0
commit c3a623c329
No known key found for this signature in database

@ -10,7 +10,7 @@ import { SettingsContext } from "utils/contexts/settings";
function resolveIcon(icon) {
if (icon.startsWith("http")) {
return `/api/proxy?url=${encodeURIComponent(icon)}`;
return icon;
}
if (icon.startsWith("/")) {

@ -1,59 +0,0 @@
import https from "https";
import getRawBody from "raw-body";
import { httpRequest, httpsRequest } from "utils/proxy/http";
export const config = {
api: {
bodyParser: false,
},
};
export default async function handler(req, res) {
const headers = ["X-API-Key", "Authorization"].reduce((obj, key) => {
if (req.headers && Object.prototype.hasOwnProperty.call(req.headers, key.toLowerCase())) {
// eslint-disable-next-line no-param-reassign
obj[key] = req.headers[key.toLowerCase()];
}
return obj;
}, {});
const url = new URL(req.query.url);
if (url.protocol === "https:") {
// this agent allows us to bypass the certificate check
// which is required for most self-signed certificates
const httpsAgent = new https.Agent({
rejectUnauthorized: false,
});
const [status, contentType, data] = await httpsRequest(url, {
agent: httpsAgent,
method: req.method,
headers,
body:
req.method === "GET" || req.method === "HEAD"
? null
: await getRawBody(req, {
encoding: "utf8",
}),
});
res.setHeader("Content-Type", contentType);
return res.status(status).send(data);
}
const [status, contentType, data] = await httpRequest(url, {
method: req.method,
headers,
body:
req.method === "GET" || req.method === "HEAD"
? null
: await getRawBody(req, {
encoding: "utf8",
}),
});
res.setHeader("Content-Type", contentType);
return res.status(status).send(data);
}

@ -13,7 +13,7 @@ export default function Component({ service }) {
const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movies");
if (episodesError || moviesError) {
return <Container error="widget.api_error" />;
return <Container error={t("widget.api_error")} />;
}
if (!episodesData || !moviesData) {

Loading…
Cancel
Save