this gotta work
This commit is contained in:
parent
6b6e4638d8
commit
255d185964
1 changed files with 20 additions and 23 deletions
43
index.ts
43
index.ts
|
|
@ -195,13 +195,14 @@ async function runComparison() {
|
|||
}
|
||||
|
||||
export class ClientResponse extends Response {
|
||||
constructor(url: URL, body?: BodyInit, init?: ResponseInit) {
|
||||
constructor(req: Request, body?: BodyInit, init?: ResponseInit) {
|
||||
super(body, init);
|
||||
|
||||
const origin = req.headers.get("Origin");
|
||||
const origins = process.env.ORIGIN!.split(",");
|
||||
|
||||
if (origins.includes(url.origin)) {
|
||||
this.headers.set("Access-Control-Allow-Origin", url.origin);
|
||||
if (origin && origins.includes(origin)) {
|
||||
this.headers.set("Access-Control-Allow-Origin", origin);
|
||||
this.headers.set(
|
||||
"Access-Control-Allow-Methods",
|
||||
"GET, POST, PUT, DELETE, OPTIONS",
|
||||
|
|
@ -209,7 +210,7 @@ export class ClientResponse extends Response {
|
|||
}
|
||||
}
|
||||
|
||||
static json_c(body: unknown, url: URL, init?: ResponseInit): Response {
|
||||
static json_c(body: unknown, req: Request, init?: ResponseInit): Response {
|
||||
const res = new Response(JSON.stringify(body), {
|
||||
...init,
|
||||
headers: {
|
||||
|
|
@ -218,31 +219,30 @@ export class ClientResponse extends Response {
|
|||
},
|
||||
});
|
||||
|
||||
const origin = req.headers.get("Origin");
|
||||
const origins = process.env.ORIGIN!.split(",");
|
||||
|
||||
if (origins.includes(url.origin)) {
|
||||
res.headers.set("Access-Control-Allow-Origin", url.origin);
|
||||
if (origin && origins.includes(origin)) {
|
||||
res.headers.set("Access-Control-Allow-Origin", origin);
|
||||
res.headers.set(
|
||||
"Access-Control-Allow-Methods",
|
||||
"GET, POST, PUT, DELETE, OPTIONS",
|
||||
);
|
||||
return res;
|
||||
} else {
|
||||
return res;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
Bun.serve({
|
||||
routes: {
|
||||
"/": (req) => new ClientResponse(new URL(req.url), "Sheets v2"),
|
||||
"/": (req) => new ClientResponse(req, "Sheets v2"),
|
||||
"/artists.json": async (req) =>
|
||||
ClientResponse.json_c(
|
||||
ndjsonToJson((await fs.readFile("artists.ndjson")).toString("utf8")),
|
||||
new URL(req.url),
|
||||
req,
|
||||
),
|
||||
"/artists.csv": async (req) =>
|
||||
new ClientResponse(
|
||||
new URL(req.url),
|
||||
req,
|
||||
jsonToCsv(
|
||||
ndjsonToJson((await fs.readFile("artists.ndjson")).toString("utf8")),
|
||||
),
|
||||
|
|
@ -253,12 +253,9 @@ Bun.serve({
|
|||
},
|
||||
),
|
||||
"/artists.ndjson": async (req) =>
|
||||
new ClientResponse(new URL(req.url), await fs.readFile("artists.ndjson")),
|
||||
new ClientResponse(req, await fs.readFile("artists.ndjson")),
|
||||
"/th_artists.ndjson": async (req) =>
|
||||
new ClientResponse(
|
||||
new URL(req.url),
|
||||
await fs.readFile("th_artists.ndjson"),
|
||||
),
|
||||
new ClientResponse(req, await fs.readFile("th_artists.ndjson")),
|
||||
"/ignore-th/:id": async (req) => {
|
||||
const authFail = requireBasicAuth(req);
|
||||
if (authFail) return authFail;
|
||||
|
|
@ -267,7 +264,7 @@ Bun.serve({
|
|||
const changes = changelist_ids[id];
|
||||
|
||||
if (!changes) {
|
||||
return new ClientResponse(new URL(req.url), "Id is invalid.", {
|
||||
return new ClientResponse(req, "Id is invalid.", {
|
||||
status: 404,
|
||||
});
|
||||
}
|
||||
|
|
@ -293,7 +290,7 @@ Bun.serve({
|
|||
delete changelist_ids[id];
|
||||
await updateChangelistIds();
|
||||
|
||||
return new ClientResponse(new URL(req.url), "Ignored successfully.");
|
||||
return new ClientResponse(req, "Ignored successfully.");
|
||||
},
|
||||
"/merge-th/:id": async (req) => {
|
||||
const authFail = requireBasicAuth(req);
|
||||
|
|
@ -303,7 +300,7 @@ Bun.serve({
|
|||
const changes = changelist_ids[id];
|
||||
|
||||
if (!changes) {
|
||||
return new ClientResponse(new URL(req.url), "Id is invalid.", {
|
||||
return new ClientResponse(req, "Id is invalid.", {
|
||||
status: 404,
|
||||
});
|
||||
}
|
||||
|
|
@ -380,7 +377,7 @@ Bun.serve({
|
|||
} catch (err) {
|
||||
console.error("Error:", err);
|
||||
return new ClientResponse(
|
||||
new URL(req.url),
|
||||
req,
|
||||
"Failed to automerge to git. Error: " + err,
|
||||
{
|
||||
status: 400,
|
||||
|
|
@ -388,11 +385,11 @@ Bun.serve({
|
|||
);
|
||||
}
|
||||
|
||||
return new ClientResponse(new URL(req.url), "Merged successfully.");
|
||||
return new ClientResponse(req, "Merged successfully.");
|
||||
},
|
||||
},
|
||||
fetch(req) {
|
||||
return new ClientResponse(new URL(req.url), "Unmatched route");
|
||||
return new ClientResponse(req, "Unmatched route");
|
||||
},
|
||||
|
||||
hostname: process.env.HOST || "127.0.0.1",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue