UNPKG

webserv

Version:

a quick, flexible, fully typed development server

46 lines 2.22 kB
var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define(["require", "exports", "http-proxy", "../log"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const http_proxy_1 = require("http-proxy"); const log_1 = require("../log"); function defaultErrorHandler(err) { log_1.log.error(`Proxy failed: ${err.message}`); } function createProxy(options) { const { onError = defaultErrorHandler, onProxyResponse, onProxyRequest, onWebsocketRequest } = options, config = __rest(options, ["onError", "onProxyResponse", "onProxyRequest", "onWebsocketRequest"]); const proxy = http_proxy_1.createProxyServer(config); proxy.on('error', onError); proxy.on('proxyRes', (proxyResponse, request, response) => { onProxyResponse && onProxyResponse(proxyResponse, request, response); }); proxy.on('proxyReq', (proxyRequest, request, response, options) => { onProxyRequest && onProxyRequest(proxyRequest, request, response, options); }); proxy.on('proxyReqWs', (proxyRequest, request, socket, options, head) => { log_1.log.debug(`WebSocket request ${head}`); onWebsocketRequest && onWebsocketRequest(proxyRequest, request, socket, options, head); }); return proxy; } exports.createProxy = createProxy; }); //# sourceMappingURL=createProxy.js.map