MCPcopy
hub / github.com/chenglou/pretext / startProxyServer

Function startProxyServer

scripts/accuracy-check.ts:104–130  ·  view source on GitHub ↗
(targetOrigin: string)

Source from the content-addressed store, hash-verified

102}
103
104async function startProxyServer(targetOrigin: string): Promise<{ baseUrl: string, server: HttpServer }> {
105 const port = await getAvailablePort()
106 const server = createHttpServer(async (req, res) => {
107 try {
108 const targetUrl = new URL(req.url ?? '/', targetOrigin)
109 const response = await fetch(targetUrl, { method: req.method ?? 'GET' })
110 res.statusCode = response.status
111 response.headers.forEach((value, key) => {
112 if (key.toLowerCase() === 'transfer-encoding') return
113 res.setHeader(key, value)
114 })
115 const body = response.body === null ? new Uint8Array(0) : new Uint8Array(await response.arrayBuffer())
116 res.end(body)
117 } catch (error) {
118 res.statusCode = 500
119 res.setHeader('content-type', 'text/plain; charset=utf-8')
120 res.end(error instanceof Error ? error.message : String(error))
121 }
122 })
123
124 await new Promise<void>((resolve, reject) => {
125 server.once('error', reject)
126 server.listen(port, '127.0.0.1', () => resolve())
127 })
128
129 return { baseUrl: `http://127.0.0.1:${port}/accuracy`, server }
130}
131
132async function loadBrowserReport(url: string, expectedRequestId: string): Promise<AccuracyReport> {
133 const session = createBrowserSession(browser)

Callers 1

accuracy-check.tsFile · 0.85

Calls 1

getAvailablePortFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…