webserv
Version:
a quick, flexible, fully typed development server
35 lines • 1.38 kB
JavaScript
(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", "../util/createProxy", "../log"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const createProxy_1 = require("../util/createProxy");
const log_1 = require("../log");
function defaultProxyCallback(error) {
if (error) {
log_1.log.error(error.message);
return Promise.reject(error);
}
}
exports.proxy = ({ proxy, baseUrl, onProxyCallback = defaultProxyCallback }) => {
proxy = proxy || createProxy_1.createProxy({ target: baseUrl });
return (request, response) => {
if (response.finished) {
return;
}
return new Promise((resolve) => {
log_1.log.debug(`proxying to ${request.url}`);
proxy.web(request, response, {}, (error, request, result) => {
resolve(onProxyCallback(error, request, result));
});
});
};
};
});
//# sourceMappingURL=proxy.js.map