-
-
Notifications
You must be signed in to change notification settings - Fork 840
Expand file tree
/
Copy pathserve-dev-node-module.ts
More file actions
26 lines (22 loc) · 980 Bytes
/
serve-dev-node-module.ts
File metadata and controls
26 lines (22 loc) · 980 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import type { ServerResponse } from 'http';
import type * as d from '../declarations';
import { responseHeaders } from './dev-server-utils';
export async function serveDevNodeModule(serverCtx: d.DevServerContext, req: d.HttpRequest, res: ServerResponse) {
try {
const results = await serverCtx.getCompilerRequest(req.pathname);
const headers = {
'content-type': 'application/javascript; charset=utf-8',
'content-length': Buffer.byteLength(results.content, 'utf8'),
'x-dev-node-module-id': results.nodeModuleId,
'x-dev-node-module-version': results.nodeModuleVersion,
'x-dev-node-module-resolved-path': results.nodeResolvedPath,
'x-dev-node-module-cache-path': results.cachePath,
'x-dev-node-module-cache-hit': results.cacheHit,
};
res.writeHead(results.status, responseHeaders(headers));
res.write(results.content);
res.end();
} catch (e) {
serverCtx.serve500(req, res, e, `serveDevNodeModule`);
}
}