aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2020-05-22 23:25:44 -0700
committerSam Wilkins <samwilkins333@gmail.com>2020-05-22 23:25:44 -0700
commit28bae5e2a0d83819efa1e5e96f8f21cf5027effd (patch)
tree44a0635aaf659db2636f22db30b53c012eb3d36c /src
parent962295ca7356e74f61942bd7874bdfb38ad14ec8 (diff)
fixed port issues
Diffstat (limited to 'src')
-rw-r--r--src/client/views/webcam/WebCamLogic.js2
-rw-r--r--src/debug/Viewer.tsx3
-rw-r--r--src/mobile/ImageUpload.tsx5
-rw-r--r--src/server/index.ts7
-rw-r--r--src/server/server_Initialization.ts10
-rw-r--r--src/server/websocket.ts15
6 files changed, 21 insertions, 21 deletions
diff --git a/src/client/views/webcam/WebCamLogic.js b/src/client/views/webcam/WebCamLogic.js
index bd1a58cbe..a8a2f5fa4 100644
--- a/src/client/views/webcam/WebCamLogic.js
+++ b/src/client/views/webcam/WebCamLogic.js
@@ -2,7 +2,7 @@
import io from "socket.io-client";
import {
resolvedPorts
-} from "../../../server/server_Initialization";
+} from "../Main";
var socket;
var isChannelReady = false;
diff --git a/src/debug/Viewer.tsx b/src/debug/Viewer.tsx
index ddddee3be..0ca067ed3 100644
--- a/src/debug/Viewer.tsx
+++ b/src/debug/Viewer.tsx
@@ -14,6 +14,7 @@ import { RichTextField } from '../fields/RichTextField';
import { DateField } from '../fields/DateField';
import { ScriptField } from '../fields/ScriptField';
import CursorField from '../fields/CursorField';
+import { resolvedPorts } from '../client/views/Main';
DateField;
URLField;
@@ -182,7 +183,7 @@ class Viewer extends React.Component {
}
(async function () {
- await DocServer.init(window.location.protocol, window.location.hostname, 4321, "viewer");
+ await DocServer.init(window.location.protocol, window.location.hostname, resolvedPorts.socket, "viewer");
ReactDOM.render((
<div style={{ position: "absolute", width: "100%", height: "100%" }}>
<Viewer />
diff --git a/src/mobile/ImageUpload.tsx b/src/mobile/ImageUpload.tsx
index 3007fb02f..b15042f9f 100644
--- a/src/mobile/ImageUpload.tsx
+++ b/src/mobile/ImageUpload.tsx
@@ -13,10 +13,7 @@ import { observable } from 'mobx';
import { Utils } from '../Utils';
import MobileInterface from './MobileInterface';
import { CurrentUserUtils } from '../client/util/CurrentUserUtils';
-import { resolvedPorts } from '../server/server_Initialization';
-
-
-
+import { resolvedPorts } from '../client/views/Main';
// const onPointerDown = (e: React.TouchEvent) => {
// let imgInput = document.getElementById("input_image_file");
diff --git a/src/server/index.ts b/src/server/index.ts
index ff74cfb33..590affd06 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -5,7 +5,7 @@ import * as path from 'path';
import { Database } from './database';
import { DashUploadUtils } from './DashUploadUtils';
import RouteSubscriber from './RouteSubscriber';
-import initializeServer from './server_Initialization';
+import initializeServer, { resolvedPorts } from './server_Initialization';
import RouteManager, { Method, _success, _permission_denied, _error, _invalid, PublicHandler } from './RouteManager';
import * as qs from 'query-string';
import UtilManager from './ApiManagers/UtilManager';
@@ -95,6 +95,11 @@ function routeSetter({ isRelease, addSupervisedRoute, logRegistrationOutcome }:
secureHandler: ({ res }) => res.send(true)
});
+ addSupervisedRoute({
+ method: Method.GET,
+ subscription: "/resolvedPorts",
+ secureHandler: ({ res }) => res.send(resolvedPorts)
+ });
const serve: PublicHandler = ({ req, res }) => {
const detector = new mobileDetect(req.headers['user-agent'] || "");
diff --git a/src/server/server_Initialization.ts b/src/server/server_Initialization.ts
index 8f4d17f22..b5b114933 100644
--- a/src/server/server_Initialization.ts
+++ b/src/server/server_Initialization.ts
@@ -32,7 +32,7 @@ import { SSL } from './apis/google/CredentialsLoader';
export type RouteSetter = (server: RouteManager) => void;
export let disconnect: Function;
-export let resolvedPorts: { server: number, socket: number };
+export let resolvedPorts: { server: number, socket: number } = { server: 1050, socket: 4321 };
export default async function InitializeServer(routeSetter: RouteSetter) {
const app = buildWithMiddleware(express());
@@ -58,18 +58,16 @@ export default async function InitializeServer(routeSetter: RouteSetter) {
let server: HttpServer | HttpsServer;
const { serverPort } = process.env;
- resolvedPorts.server = isRelease && serverPort ? Number(serverPort) : 1050;
+ isRelease && serverPort && (resolvedPorts.server = Number(serverPort));
await new Promise<void>(resolve => server = isRelease ?
createServer(SSL.Credentials, app).listen(resolvedPorts.server, resolve) :
- app.listen(resolvedPorts, resolve)
+ app.listen(resolvedPorts.server, resolve)
);
logPort("server", resolvedPorts.server);
// initialize the web socket (bidirectional communication: if a user changes
// a field on one client, that change must be broadcast to all other clients)
- resolvedPorts.socket = await WebSocket.initialize(isRelease, app);
-
- app.get("/resolvedPorts", (_req, res) => res.send(resolvedPorts));
+ await WebSocket.initialize(isRelease, app);
disconnect = async () => new Promise<Error>(resolve => server.close(resolve));
return isRelease;
diff --git a/src/server/websocket.ts b/src/server/websocket.ts
index b99a463d4..d55c2e198 100644
--- a/src/server/websocket.ts
+++ b/src/server/websocket.ts
@@ -16,6 +16,7 @@ import executeImport from "../scraping/buxton/final/BuxtonImporter";
import { DocumentsCollection } from "./IDatabase";
import { createServer, Server } from "https";
import * as express from "express";
+import { resolvedPorts } from './server_Initialization';
export namespace WebSocket {
@@ -23,21 +24,21 @@ export namespace WebSocket {
const clients: { [key: string]: Client } = {};
export const socketMap = new Map<SocketIO.Socket, string>();
export let disconnect: Function;
- const defaultPort = 4321;
export async function initialize(isRelease: boolean, app: express.Express) {
let io: sio.Server;
- let resolved: number;
if (isRelease) {
const { socketPort } = process.env;
- resolved = socketPort ? Number(socketPort) : defaultPort;
+ if (socketPort) {
+ resolvedPorts.socket = Number(socketPort);
+ }
let socketEndpoint: Server;
- await new Promise<void>(resolve => socketEndpoint = createServer(SSL.Credentials, app).listen(resolved, resolve));
+ await new Promise<void>(resolve => socketEndpoint = createServer(SSL.Credentials, app).listen(resolvedPorts.socket, resolve));
io = sio(socketEndpoint!, SSL.Credentials as any);
} else {
- io = sio().listen(resolved = defaultPort);
+ io = sio().listen(resolvedPorts.socket);
}
- logPort("websocket", resolved);
+ logPort("websocket", resolvedPorts.socket);
console.log();
io.on("connection", function (socket: Socket) {
@@ -137,8 +138,6 @@ export namespace WebSocket {
socket.disconnect(true);
};
});
-
- return resolved;
}
function processGesturePoints(socket: Socket, content: GestureContent) {