| 21 | const publicNpmRegistry = "https://registry.npmjs.org"; |
| 22 | |
| 23 | export async function handleRequest(request: Request): Promise<Response> { |
| 24 | try { |
| 25 | let start = Date.now(); |
| 26 | let response = await handleRequest_(request); |
| 27 | |
| 28 | if (env.MODE !== "test") { |
| 29 | logRequest(request, response, Date.now() - start); |
| 30 | } |
| 31 | |
| 32 | if (request.method === "HEAD") { |
| 33 | return new Response(null, response); |
| 34 | } |
| 35 | |
| 36 | return response; |
| 37 | } catch (error) { |
| 38 | console.error(error); |
| 39 | |
| 40 | return new Response("Internal Server Error", { status: 500 }); |
| 41 | } |
| 42 | } |
| 43 | |
| 44 | async function handleRequest_(request: Request): Promise<Response> { |
| 45 | let url = new URL(request.url); |