UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

44 lines (43 loc) 1.78 kB
import * as http from "http"; import * as net from "net"; function proxyHttpRequest(req, res, target) { var headers = { ...req.headers, "x-forwarded-host": req.headers.host }; req.socket.remoteAddress && (headers["x-forwarded-for"] = req.socket.remoteAddress); var options = { hostname: "localhost", port: target.port, path: req.url, method: req.method, headers }, proxyReq = http.request(options, function (proxyRes) { res.writeHead(proxyRes.statusCode || 500, proxyRes.headers), proxyRes.pipe(res); }); proxyReq.on("error", function (err) { console.error(`[daemon] Proxy error to port ${target.port}:`, err.message), res.headersSent || (res.writeHead(502), res.end(`Bad Gateway: ${err.message}`)); }), req.pipe(proxyReq); } function proxyWebSocket(req, socket, head, target) { var proxySocket = net.connect(target.port, "localhost", function () { var reqLines = [`${req.method} ${req.url} HTTP/1.1`, ...Object.entries(req.headers).map(function (param) { var [k, v] = param; return Array.isArray(v) ? `${k}: ${v.join(", ")}` : `${k}: ${v}`; }), "", ""]; proxySocket.write(reqLines.join(`\r `)), head.length && proxySocket.write(head), socket.pipe(proxySocket), proxySocket.pipe(socket); }); proxySocket.on("error", function (err) { console.error(`[daemon] WebSocket proxy error to port ${target.port}:`, err.message), socket.end(); }), socket.on("error", function (err) { console.error("[daemon] Client socket error:", err.message), proxySocket.end(); }), socket.on("close", function () { proxySocket.end(); }), proxySocket.on("close", function () { socket.end(); }); } export { proxyHttpRequest, proxyWebSocket }; //# sourceMappingURL=proxy.native.js.map