MCPcopy Index your code
hub / github.com/unpkg/unpkg / serveRawFile

Function serveRawFile

packages/unpkg-esm/src/request-handler.ts:323–348  ·  view source on GitHub ↗
(env: Env, packageName: string, version: string, filename: string)

Source from the content-addressed store, hash-verified

321}
322
323async function serveRawFile(env: Env, packageName: string, version: string, filename: string): Promise<Response> {
324 let rawResponse = await fetch(new URL(`/file/${packageName}@${version}${filename}`, env.FILES_ORIGIN));
325 if (!rawResponse.ok) {
326 return jsonError({
327 code: "RAW_FILE_NOT_FOUND",
328 message: await rawResponse.text(),
329 status: rawResponse.status,
330 });
331 }
332
333 let headers = new Headers(rawResponse.headers);
334 if (isTypeDeclarationPath(filename)) {
335 headers.set("Content-Type", "application/typescript; charset=utf-8");
336 } else if (isCssPath(filename)) {
337 headers.set("Content-Type", "text/css; charset=utf-8");
338 }
339 for (let [name, value] of Object.entries(corsHeaders())) {
340 headers.set(name, value);
341 }
342
343 return new Response(await rawResponse.arrayBuffer(), {
344 status: rawResponse.status,
345 statusText: rawResponse.statusText,
346 headers,
347 });
348}
349
350async function serveCssModule(env: Env, packageName: string, version: string, filename: string): Promise<Response> {
351 let response = await serveRawFile(env, packageName, version, filename);

Callers 2

handleRequestFunction · 0.85
serveCssModuleFunction · 0.85

Calls 5

jsonErrorFunction · 0.85
isTypeDeclarationPathFunction · 0.85
isCssPathFunction · 0.85
corsHeadersFunction · 0.85
fetchFunction · 0.70

Tested by

no test coverage detected