{"ast":null,"code":"\"use strict\";\n\nvar _slicedToArray = require(\"D:/DSP_Management/node_modules/@babel/runtime/helpers/slicedToArray.js\")[\"default\"];\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getHandlers = exports.init = void 0;\nvar logger_1 = require(\"./logger\");\nvar logger = (0, logger_1.getInstance)();\nfunction init(proxy, option) {\n  var handlers = getHandlers(option);\n  for (var _i = 0, _Object$keys = Object.keys(handlers); _i < _Object$keys.length; _i++) {\n    var eventName = _Object$keys[_i];\n    proxy.on(eventName, handlers[eventName]);\n  }\n  // https://github.com/webpack/webpack-dev-server/issues/1642\n  proxy.on('econnreset', function (error, req, res, target) {\n    logger.error(\"[HPM] ECONNRESET: %O\", error);\n  });\n  // https://github.com/webpack/webpack-dev-server/issues/1642#issuecomment-1104325120\n  proxy.on('proxyReqWs', function (proxyReq, req, socket, options, head) {\n    socket.on('error', function (error) {\n      logger.error(\"[HPM] WebSocket error: %O\", error);\n    });\n  });\n  logger.debug('[HPM] Subscribed to http-proxy events:', Object.keys(handlers));\n}\nexports.init = init;\nfunction getHandlers(options) {\n  // https://github.com/nodejitsu/node-http-proxy#listening-for-proxy-events\n  var proxyEventsMap = {\n    error: 'onError',\n    proxyReq: 'onProxyReq',\n    proxyReqWs: 'onProxyReqWs',\n    proxyRes: 'onProxyRes',\n    open: 'onOpen',\n    close: 'onClose'\n  };\n  var handlers = {};\n  for (var _i2 = 0, _Object$entries = Object.entries(proxyEventsMap); _i2 < _Object$entries.length; _i2++) {\n    var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),\n      eventName = _Object$entries$_i[0],\n      onEventName = _Object$entries$_i[1];\n    // all handlers for the http-proxy events are prefixed with 'on'.\n    // loop through options and try to find these handlers\n    // and add them to the handlers object for subscription in init().\n    var fnHandler = options ? options[onEventName] : null;\n    if (typeof fnHandler === 'function') {\n      handlers[eventName] = fnHandler;\n    }\n  }\n  // add default error handler in absence of error handler\n  if (typeof handlers.error !== 'function') {\n    handlers.error = defaultErrorHandler;\n  }\n  // add default close handler in absence of close handler\n  if (typeof handlers.close !== 'function') {\n    handlers.close = logClose;\n  }\n  return handlers;\n}\nexports.getHandlers = getHandlers;\nfunction defaultErrorHandler(err, req, res) {\n  // Re-throw error. Not recoverable since req & res are empty.\n  if (!req && !res) {\n    throw err; // \"Error: Must provide a proper URL as target\"\n  }\n  var host = req.headers && req.headers.host;\n  var code = err.code;\n  if (res.writeHead && !res.headersSent) {\n    if (/HPE_INVALID/.test(code)) {\n      res.writeHead(502);\n    } else {\n      switch (code) {\n        case 'ECONNRESET':\n        case 'ENOTFOUND':\n        case 'ECONNREFUSED':\n        case 'ETIMEDOUT':\n          res.writeHead(504);\n          break;\n        default:\n          res.writeHead(500);\n      }\n    }\n  }\n  res.end(\"Error occurred while trying to proxy: \".concat(host).concat(req.url));\n}\nfunction logClose(req, socket, head) {\n  // view disconnected websocket connections\n  logger.info('[HPM] Client disconnected');\n}","map":{"version":3,"names":["_slicedToArray","require","Object","defineProperty","exports","value","getHandlers","init","logger_1","logger","getInstance","proxy","option","handlers","_i","_Object$keys","keys","length","eventName","on","error","req","res","target","proxyReq","socket","options","head","debug","proxyEventsMap","proxyReqWs","proxyRes","open","close","_i2","_Object$entries","entries","_Object$entries$_i","onEventName","fnHandler","defaultErrorHandler","logClose","err","host","headers","code","writeHead","headersSent","test","end","concat","url","info"],"sources":["D:/DSP_Management/node_modules/http-proxy-middleware/dist/_handlers.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHandlers = exports.init = void 0;\nconst logger_1 = require(\"./logger\");\nconst logger = (0, logger_1.getInstance)();\nfunction init(proxy, option) {\n    const handlers = getHandlers(option);\n    for (const eventName of Object.keys(handlers)) {\n        proxy.on(eventName, handlers[eventName]);\n    }\n    // https://github.com/webpack/webpack-dev-server/issues/1642\n    proxy.on('econnreset', (error, req, res, target) => {\n        logger.error(`[HPM] ECONNRESET: %O`, error);\n    });\n    // https://github.com/webpack/webpack-dev-server/issues/1642#issuecomment-1104325120\n    proxy.on('proxyReqWs', (proxyReq, req, socket, options, head) => {\n        socket.on('error', (error) => {\n            logger.error(`[HPM] WebSocket error: %O`, error);\n        });\n    });\n    logger.debug('[HPM] Subscribed to http-proxy events:', Object.keys(handlers));\n}\nexports.init = init;\nfunction getHandlers(options) {\n    // https://github.com/nodejitsu/node-http-proxy#listening-for-proxy-events\n    const proxyEventsMap = {\n        error: 'onError',\n        proxyReq: 'onProxyReq',\n        proxyReqWs: 'onProxyReqWs',\n        proxyRes: 'onProxyRes',\n        open: 'onOpen',\n        close: 'onClose',\n    };\n    const handlers = {};\n    for (const [eventName, onEventName] of Object.entries(proxyEventsMap)) {\n        // all handlers for the http-proxy events are prefixed with 'on'.\n        // loop through options and try to find these handlers\n        // and add them to the handlers object for subscription in init().\n        const fnHandler = options ? options[onEventName] : null;\n        if (typeof fnHandler === 'function') {\n            handlers[eventName] = fnHandler;\n        }\n    }\n    // add default error handler in absence of error handler\n    if (typeof handlers.error !== 'function') {\n        handlers.error = defaultErrorHandler;\n    }\n    // add default close handler in absence of close handler\n    if (typeof handlers.close !== 'function') {\n        handlers.close = logClose;\n    }\n    return handlers;\n}\nexports.getHandlers = getHandlers;\nfunction defaultErrorHandler(err, req, res) {\n    // Re-throw error. Not recoverable since req & res are empty.\n    if (!req && !res) {\n        throw err; // \"Error: Must provide a proper URL as target\"\n    }\n    const host = req.headers && req.headers.host;\n    const code = err.code;\n    if (res.writeHead && !res.headersSent) {\n        if (/HPE_INVALID/.test(code)) {\n            res.writeHead(502);\n        }\n        else {\n            switch (code) {\n                case 'ECONNRESET':\n                case 'ENOTFOUND':\n                case 'ECONNREFUSED':\n                case 'ETIMEDOUT':\n                    res.writeHead(504);\n                    break;\n                default:\n                    res.writeHead(500);\n            }\n        }\n    }\n    res.end(`Error occurred while trying to proxy: ${host}${req.url}`);\n}\nfunction logClose(req, socket, head) {\n    // view disconnected websocket connections\n    logger.info('[HPM] Client disconnected');\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}