error-response-plugin.js 829 B

12345678910111213141516171819
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.errorResponsePlugin = void 0;
  4. const status_code_1 = require("../../status-code");
  5. const errorResponsePlugin = (proxyServer, options) => {
  6. proxyServer.on('error', (err, req, res, target) => {
  7. // Re-throw error. Not recoverable since req & res are empty.
  8. if (!req && !res) {
  9. throw err; // "Error: Must provide a proper URL as target"
  10. }
  11. if ('writeHead' in res && !res.headersSent) {
  12. const statusCode = (0, status_code_1.getStatusCode)(err.code);
  13. res.writeHead(statusCode);
  14. }
  15. const host = req.headers && req.headers.host;
  16. res.end(`Error occurred while trying to proxy: ${host}${req.url}`);
  17. });
  18. };
  19. exports.errorResponsePlugin = errorResponsePlugin;