source: frontend/node_modules/http-proxy-middleware/dist/router.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 11 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.4 KB
Line 
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.getTarget = void 0;
4const isPlainObj = require("is-plain-obj");
5const logger_1 = require("./logger");
6const logger = (0, logger_1.getInstance)();
7async function getTarget(req, config) {
8 let newTarget;
9 const router = config.router;
10 if (isPlainObj(router)) {
11 newTarget = getTargetFromProxyTable(req, router);
12 }
13 else if (typeof router === 'function') {
14 newTarget = await router(req);
15 }
16 return newTarget;
17}
18exports.getTarget = getTarget;
19function getTargetFromProxyTable(req, table) {
20 let result;
21 const host = req.headers.host;
22 const path = req.url;
23 const hostAndPath = host + path;
24 for (const [key] of Object.entries(table)) {
25 if (containsPath(key)) {
26 if (hostAndPath.indexOf(key) > -1) {
27 // match 'localhost:3000/api'
28 result = table[key];
29 logger.debug('[HPM] Router table match: "%s"', key);
30 break;
31 }
32 }
33 else {
34 if (key === host) {
35 // match 'localhost:3000'
36 result = table[key];
37 logger.debug('[HPM] Router table match: "%s"', host);
38 break;
39 }
40 }
41 }
42 return result;
43}
44function containsPath(v) {
45 return v.indexOf('/') > -1;
46}
Note: See TracBrowser for help on using the repository browser.