UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 3.32 kB
{"version":3,"file":"proxy.js","names":[],"sources":["esm/daemon/proxy.js"],"sourcesContent":["import * as http from \"node:http\";\nimport * as net from \"node:net\";\nfunction proxyHttpRequest(req, res, target) {\n const headers = {\n ...req.headers,\n \"x-forwarded-host\": req.headers.host\n };\n if (req.socket.remoteAddress) {\n headers[\"x-forwarded-for\"] = req.socket.remoteAddress;\n }\n const options = {\n hostname: \"localhost\",\n port: target.port,\n path: req.url,\n method: req.method,\n headers\n };\n const proxyReq = http.request(options, (proxyRes) => {\n res.writeHead(proxyRes.statusCode || 500, proxyRes.headers);\n proxyRes.pipe(res);\n });\n proxyReq.on(\"error\", (err) => {\n console.error(`[daemon] Proxy error to port ${target.port}:`, err.message);\n if (!res.headersSent) {\n res.writeHead(502);\n res.end(`Bad Gateway: ${err.message}`);\n }\n });\n req.pipe(proxyReq);\n}\nfunction proxyWebSocket(req, socket, head, target) {\n const proxySocket = net.connect(target.port, \"localhost\", () => {\n const reqLines = [\n `${req.method} ${req.url} HTTP/1.1`,\n ...Object.entries(req.headers).map(([k, v]) => {\n if (Array.isArray(v)) return `${k}: ${v.join(\", \")}`;\n return `${k}: ${v}`;\n }),\n \"\",\n \"\"\n ];\n proxySocket.write(reqLines.join(\"\\r\\n\"));\n if (head.length) {\n proxySocket.write(head);\n }\n socket.pipe(proxySocket);\n proxySocket.pipe(socket);\n });\n proxySocket.on(\"error\", (err) => {\n console.error(`[daemon] WebSocket proxy error to port ${target.port}:`, err.message);\n socket.end();\n });\n socket.on(\"error\", (err) => {\n console.error(`[daemon] Client socket error:`, err.message);\n proxySocket.end();\n });\n socket.on(\"close\", () => {\n proxySocket.end();\n });\n proxySocket.on(\"close\", () => {\n socket.end();\n });\n}\nexport {\n proxyHttpRequest,\n proxyWebSocket\n};\n//# sourceMappingURL=proxy.js.map\n"],"mappings":";;;;AAEA,SAAS,iBAAiB,KAAK,KAAK,QAAQ;CAC1C,MAAM,UAAU;EACd,GAAG,IAAI;EACP,oBAAoB,IAAI,QAAQ;CAClC;CACA,IAAI,IAAI,OAAO,eAAe;EAC5B,QAAQ,qBAAqB,IAAI,OAAO;CAC1C;CACA,MAAM,UAAU;EACd,UAAU;EACV,MAAM,OAAO;EACb,MAAM,IAAI;EACV,QAAQ,IAAI;EACZ;CACF;CACA,MAAM,WAAW,KAAK,QAAQ,UAAU,aAAa;EACnD,IAAI,UAAU,SAAS,cAAc,KAAK,SAAS,OAAO;EAC1D,SAAS,KAAK,GAAG;CACnB,CAAC;CACD,SAAS,GAAG,UAAU,QAAQ;EAC5B,QAAQ,MAAM,gCAAgC,OAAO,KAAK,IAAI,IAAI,OAAO;EACzE,IAAI,CAAC,IAAI,aAAa;GACpB,IAAI,UAAU,GAAG;GACjB,IAAI,IAAI,gBAAgB,IAAI,SAAS;EACvC;CACF,CAAC;CACD,IAAI,KAAK,QAAQ;AACnB;AACA,SAAS,eAAe,KAAK,QAAQ,MAAM,QAAQ;CACjD,MAAM,cAAc,IAAI,QAAQ,OAAO,MAAM,mBAAmB;EAC9D,MAAM,WAAW;GACf,GAAG,IAAI,OAAO,GAAG,IAAI,IAAI;GACzB,GAAG,OAAO,QAAQ,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO;IAC7C,IAAI,MAAM,QAAQ,CAAC,GAAG,OAAO,GAAG,EAAE,IAAI,EAAE,KAAK,IAAI;IACjD,OAAO,GAAG,EAAE,IAAI;GAClB,CAAC;GACD;GACA;EACF;EACA,YAAY,MAAM,SAAS,KAAK,MAAM,CAAC;EACvC,IAAI,KAAK,QAAQ;GACf,YAAY,MAAM,IAAI;EACxB;EACA,OAAO,KAAK,WAAW;EACvB,YAAY,KAAK,MAAM;CACzB,CAAC;CACD,YAAY,GAAG,UAAU,QAAQ;EAC/B,QAAQ,MAAM,0CAA0C,OAAO,KAAK,IAAI,IAAI,OAAO;EACnF,OAAO,IAAI;CACb,CAAC;CACD,OAAO,GAAG,UAAU,QAAQ;EAC1B,QAAQ,MAAM,iCAAiC,IAAI,OAAO;EAC1D,YAAY,IAAI;CAClB,CAAC;CACD,OAAO,GAAG,eAAe;EACvB,YAAY,IAAI;CAClB,CAAC;CACD,YAAY,GAAG,eAAe;EAC5B,OAAO,IAAI;CACb,CAAC;AACH"}