mirror of
https://github.com/lifegpc/eh-downloader.git
synced 2026-07-08 01:31:00 +08:00
Add server timing support
This commit is contained in:
@@ -59,6 +59,8 @@ function handle_auth(req: Request, ctx: FreshContext) {
|
||||
|
||||
export async function handler(req: Request, ctx: FreshContext) {
|
||||
const m = get_task_manager();
|
||||
const enable_server_timing = m.cfg.enable_server_timing;
|
||||
const start = enable_server_timing ? Date.now() : 0;
|
||||
if (!(handle_auth(req, ctx))) {
|
||||
const headers: HeadersInit = {};
|
||||
const origin = req.headers.get("origin");
|
||||
@@ -67,6 +69,10 @@ export async function handler(req: Request, ctx: FreshContext) {
|
||||
headers["Access-Control-Allow-Origin"] = origin;
|
||||
if (c) headers["Access-Control-Allow-Credentials"] = "true";
|
||||
}
|
||||
if (enable_server_timing) {
|
||||
const end = Date.now();
|
||||
headers["Server-Timing"] = `api;dur=${end - start}`;
|
||||
}
|
||||
return return_error(401, "Unauthorized", 401, headers);
|
||||
}
|
||||
const res = await ctx.next();
|
||||
@@ -86,6 +92,10 @@ export async function handler(req: Request, ctx: FreshContext) {
|
||||
if (c) headers.set("Access-Control-Allow-Credentials", "true");
|
||||
headers.set("Access-Control-Allow-Private-Network", "true");
|
||||
}
|
||||
if (enable_server_timing) {
|
||||
const end = Date.now();
|
||||
headers.append("Server-Timing", `api;dur=${end - start}`);
|
||||
}
|
||||
return new Response(null, { status: 204, headers });
|
||||
} else {
|
||||
if (res.status === 101) return res;
|
||||
@@ -118,6 +128,10 @@ export async function handler(req: Request, ctx: FreshContext) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (enable_server_timing) {
|
||||
const end = Date.now();
|
||||
headers.append("Server-Timing", `api;dur=${end - start}`);
|
||||
}
|
||||
return new Response(res.body, {
|
||||
status: res.status,
|
||||
headers: headers,
|
||||
|
||||
@@ -12,6 +12,9 @@ export const handler: Handlers = {
|
||||
}
|
||||
const tokens = ctx.params.token.split(",");
|
||||
const m = get_task_manager();
|
||||
const enable_server_timing = m.cfg.enable_server_timing;
|
||||
const start = enable_server_timing ? Date.now() : 0;
|
||||
const headers: HeadersInit = {};
|
||||
const data: EhFiles = {};
|
||||
for (const token of tokens) {
|
||||
data[token] = m.db.get_files(token).map((d) => {
|
||||
@@ -22,6 +25,10 @@ export const handler: Handlers = {
|
||||
return d;
|
||||
});
|
||||
}
|
||||
return return_data(data);
|
||||
if (enable_server_timing) {
|
||||
const end = Date.now();
|
||||
headers["Server-Timing"] = `db;dur=${end - start}`;
|
||||
}
|
||||
return return_data(data, 200, headers);
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user