diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/views/webcam/WebCamLogic.js | 2 | ||||
-rw-r--r-- | src/debug/Viewer.tsx | 3 | ||||
-rw-r--r-- | src/mobile/ImageUpload.tsx | 5 | ||||
-rw-r--r-- | src/server/index.ts | 7 | ||||
-rw-r--r-- | src/server/server_Initialization.ts | 10 | ||||
-rw-r--r-- | src/server/websocket.ts | 15 |
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) { |