aboutsummaryrefslogtreecommitdiff
path: root/src/server/server_Initialization.ts
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2020-03-17 02:54:53 -0400
committerBob Zeleznik <zzzman@gmail.com>2020-03-17 02:54:53 -0400
commit1b21c5234a179df337ad51f55c9f82b9d7022c25 (patch)
tree1ccbd7f2f36acea5146989150674793bbc023f83 /src/server/server_Initialization.ts
parente9a16afa46af3ecec0bd7b58f9ca13b85d62a860 (diff)
cleaned up relative web page paths.
Diffstat (limited to 'src/server/server_Initialization.ts')
-rw-r--r--src/server/server_Initialization.ts24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/server/server_Initialization.ts b/src/server/server_Initialization.ts
index bb661a124..3ba9cc474 100644
--- a/src/server/server_Initialization.ts
+++ b/src/server/server_Initialization.ts
@@ -20,7 +20,7 @@ import * as request from 'request';
import RouteSubscriber from './RouteSubscriber';
import { publicDirectory } from '.';
import { logPort, } from './ActionUtilities';
-import { timeMap } from './ApiManagers/UserManager';
+import { Utils } from '../Utils';
import { blue, yellow } from 'colors';
import * as cors from "cors";
@@ -61,9 +61,11 @@ export default async function InitializeServer(routeSetter: RouteSetter) {
registerAuthenticationRoutes(app);
registerCorsProxy(app);
+
const isRelease = determineEnvironment();
routeSetter(new RouteManager(app, isRelease));
+ registerRelativePath(app);
const serverPort = isRelease ? Number(process.env.serverPort) : 1050;
const server = app.listen(serverPort, () => {
@@ -153,3 +155,23 @@ function registerCorsProxy(server: express.Express) {
}).pipe(res);
});
}
+
+function registerRelativePath(server: express.Express) {
+ server.use("*", (req, res) => {
+ const target = req.originalUrl;
+ if (!res.headersSent && req.headers.referer?.includes("corsProxy")) {
+ const url = decodeURIComponent(req.headers.referer);
+ const start = url.match(/.*corsProxy\//)![0];
+ const original = url.replace(start, "");
+ const theurl = original.match(/http[s]?:\/\/[^\/]*/)![0];
+ const newdirect = start + encodeURIComponent(theurl + target);
+ res.redirect(newdirect);
+ return;
+ } else if (target.startsWith("/search")) {
+ const newdirect = req.headers.referer + "corsProxy/" + encodeURIComponent("http://www.google.com" + target);
+ res.redirect(newdirect);
+ return;
+ }
+ res.end();
+ });
+}