aboutsummaryrefslogtreecommitdiff
path: root/src/server/websocket.ts
diff options
context:
space:
mode:
authorusodhi <61431818+usodhi@users.noreply.github.com>2020-05-24 10:40:21 +0530
committerusodhi <61431818+usodhi@users.noreply.github.com>2020-05-24 10:40:21 +0530
commit2d0086420282c8e09841a1ce556679627bd3d857 (patch)
tree7110c03d51783654bf5e8fe6f7d295ec683066d5 /src/server/websocket.ts
parent83d282a6b5e607e3c7dae4b5e5d37a8b458f81cc (diff)
parent19ababdb6098ac36358c86e43ad63ab3066b4663 (diff)
merge finished
Diffstat (limited to 'src/server/websocket.ts')
-rw-r--r--src/server/websocket.ts35
1 files changed, 24 insertions, 11 deletions
diff --git a/src/server/websocket.ts b/src/server/websocket.ts
index 7278bdc32..d55c2e198 100644
--- a/src/server/websocket.ts
+++ b/src/server/websocket.ts
@@ -1,18 +1,22 @@
+import * as fs from 'fs';
+import { logPort } from './ActionUtilities';
import { Utils } from "../Utils";
import { MessageStore, Transferable, Types, Diff, YoutubeQueryInput, YoutubeQueryTypes, GestureContent, MobileInkOverlayContent, UpdateMobileInkOverlayPositionContent, MobileDocumentUploadContent, RoomMessage } from "./Message";
import { Client } from "./Client";
import { Socket } from "socket.io";
import { Database } from "./database";
import { Search } from "./Search";
-import * as io from 'socket.io';
+import * as sio from 'socket.io';
import YoutubeApi from "./apis/youtube/youtubeApiSample";
-import { GoogleCredentialsLoader } from "./apis/google/CredentialsLoader";
-import { logPort } from "./ActionUtilities";
+import { GoogleCredentialsLoader, SSL } from "./apis/google/CredentialsLoader";
import { timeMap } from "./ApiManagers/UserManager";
import { green } from "colors";
import { networkInterfaces } from "os";
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 {
@@ -21,11 +25,24 @@ export namespace WebSocket {
export const socketMap = new Map<SocketIO.Socket, string>();
export let disconnect: Function;
- export function initialize(isRelease: boolean) {
- const endpoint = io();
- endpoint.on("connection", function (socket: Socket) {
- _socket = socket;
+ export async function initialize(isRelease: boolean, app: express.Express) {
+ let io: sio.Server;
+ if (isRelease) {
+ const { socketPort } = process.env;
+ if (socketPort) {
+ resolvedPorts.socket = Number(socketPort);
+ }
+ let socketEndpoint: Server;
+ 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(resolvedPorts.socket);
+ }
+ logPort("websocket", resolvedPorts.socket);
+ console.log();
+ io.on("connection", function (socket: Socket) {
+ _socket = socket;
socket.use((_packet, next) => {
const userEmail = socketMap.get(socket);
if (userEmail) {
@@ -121,10 +138,6 @@ export namespace WebSocket {
socket.disconnect(true);
};
});
-
- const socketPort = isRelease ? Number(process.env.socketPort) : 4321;
- endpoint.listen(socketPort);
- logPort("websocket", socketPort);
}
function processGesturePoints(socket: Socket, content: GestureContent) {