MCPcopy
hub / github.com/prisma/prisma / createNodeRequest

Function createNodeRequest

packages/cli/src/studio-server.ts:61–87  ·  view source on GitHub ↗
(nodeRequest: IncomingMessage, port: number)

Source from the content-addressed store, hash-verified

59}
60
61function createNodeRequest(nodeRequest: IncomingMessage, port: number): Request {
62 const origin = `http://${nodeRequest.headers.host ?? `localhost:${port}`}`
63 const url = new URL(nodeRequest.url ?? '/', origin)
64 const headers = new Headers()
65
66 for (const [key, value] of Object.entries(nodeRequest.headers)) {
67 if (Array.isArray(value)) {
68 for (const item of value) {
69 headers.append(key, item)
70 }
71 } else if (value !== undefined) {
72 headers.set(key, value)
73 }
74 }
75
76 const requestInit: RequestInit & { duplex?: 'half' } = {
77 headers,
78 method: nodeRequest.method,
79 }
80
81 if (methodHasRequestBody(nodeRequest.method)) {
82 requestInit.body = Readable.toWeb(nodeRequest) as BodyInit
83 requestInit.duplex = 'half'
84 }
85
86 return new Request(url, requestInit)
87}
88
89async function writeNodeResponse(nodeResponse: ServerResponse, response: Response, method: string | undefined) {
90 nodeResponse.statusCode = response.status

Callers 1

startNodeStudioServerFunction · 0.85

Calls 4

methodHasRequestBodyFunction · 0.85
entriesMethod · 0.80
appendMethod · 0.80
setMethod · 0.80

Tested by

no test coverage detected