mirror of
https://github.com/LukeHagar/arbiter.git
synced 2025-12-11 04:19:25 +00:00
20 lines
829 B
JavaScript
20 lines
829 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.errorResponsePlugin = void 0;
|
|
const status_code_1 = require("../../status-code");
|
|
const errorResponsePlugin = (proxyServer, options) => {
|
|
proxyServer.on('error', (err, req, res, target) => {
|
|
// Re-throw error. Not recoverable since req & res are empty.
|
|
if (!req && !res) {
|
|
throw err; // "Error: Must provide a proper URL as target"
|
|
}
|
|
if ('writeHead' in res && !res.headersSent) {
|
|
const statusCode = (0, status_code_1.getStatusCode)(err.code);
|
|
res.writeHead(statusCode);
|
|
}
|
|
const host = req.headers && req.headers.host;
|
|
res.end(`Error occurred while trying to proxy: ${host}${req.url}`);
|
|
});
|
|
};
|
|
exports.errorResponsePlugin = errorResponsePlugin;
|