diff options
author | Bob Zeleznik <zzzman@gmail.com> | 2020-05-17 22:06:05 -0400 |
---|---|---|
committer | Bob Zeleznik <zzzman@gmail.com> | 2020-05-17 22:06:05 -0400 |
commit | da48b8a48898c9bc15958fc99cf9722952e13efd (patch) | |
tree | 339e82aa634d5e194840de725e0a120eed7dc607 /src/server/websocket.ts | |
parent | 43fb6e4569dd2a7cdebb532cf094eb5b780fb3c7 (diff) | |
parent | 594be0efec57eac3c12aa3765954411e244ae962 (diff) |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src/server/websocket.ts')
-rw-r--r-- | src/server/websocket.ts | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/server/websocket.ts b/src/server/websocket.ts index 1abfe2327..21e772e83 100644 --- a/src/server/websocket.ts +++ b/src/server/websocket.ts @@ -8,13 +8,13 @@ import { Database } from "./database"; import { Search } from "./Search"; import * as sio from 'socket.io'; import YoutubeApi from "./apis/youtube/youtubeApiSample"; -import { GoogleCredentialsLoader, SSLCredentialsLoader } from "./apis/google/CredentialsLoader"; +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 } from "https"; +import { createServer, Server } from "https"; import * as express from "express"; export namespace WebSocket { @@ -25,21 +25,20 @@ export namespace WebSocket { export let disconnect: Function; const defaultPort = 4321; - export function initialize(isRelease: boolean, app: express.Express) { + export async function initialize(isRelease: boolean, app: express.Express) { let io: sio.Server; - const log = (port: number) => { - logPort("websocket", port); - console.log(); - } + let resolved: number; if (isRelease) { const { socketPort } = process.env; - const resolved = socketPort ? Number(socketPort) : defaultPort; - const socketEndpoint = createServer(SSLCredentialsLoader.Credentials, app).listen(resolved, () => log(resolved)); - io = sio(socketEndpoint, SSLCredentialsLoader.Credentials as any); + resolved = socketPort ? Number(socketPort) : defaultPort; + let socketEndpoint: Server; + await new Promise<void>(resolve => socketEndpoint = createServer(SSL.Credentials, app).listen(resolved, resolve)); + io = sio(socketEndpoint!, SSL.Credentials as any); } else { - io = sio().listen(defaultPort); - log(defaultPort); + io = sio().listen(resolved = defaultPort); } + logPort("websocket", resolved); + console.log(); io.on("connection", function (socket: Socket) { _socket = socket; |