diff options
| author | Bob Zeleznik <zzzman@gmail.com> | 2020-05-17 19:44:03 -0400 |
|---|---|---|
| committer | Bob Zeleznik <zzzman@gmail.com> | 2020-05-17 19:44:03 -0400 |
| commit | 65243033448654c1efcec8c588128633a56d8409 (patch) | |
| tree | 1d7606a94cad4e06efce8fcc310145598742d61b /src/server/server_Initialization.ts | |
| parent | 2882dfce48e434f0c0b6a5837fc6212cad1df131 (diff) | |
| parent | 35b335eecd1ace5a1b3da04de3ee1e8674d10c15 (diff) | |
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src/server/server_Initialization.ts')
| -rw-r--r-- | src/server/server_Initialization.ts | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/server/server_Initialization.ts b/src/server/server_Initialization.ts index f572ec906..ab91721b2 100644 --- a/src/server/server_Initialization.ts +++ b/src/server/server_Initialization.ts @@ -10,6 +10,7 @@ import { Database } from './database'; import { getForgot, getLogin, getLogout, getReset, getSignup, postForgot, postLogin, postReset, postSignup } from './authentication/AuthenticationManager'; const MongoStore = require('connect-mongo')(session); import RouteManager from './RouteManager'; +import { WebSocket } from './websocket'; import * as webpack from 'webpack'; const config = require('../../webpack.config'); const compiler = webpack(config); @@ -22,8 +23,9 @@ import { publicDirectory } from '.'; import { logPort, pathFromRoot, } from './ActionUtilities'; import { blue, yellow } from 'colors'; import * as cors from "cors"; -import { createServer, Server as SecureServer } from "https"; -import { Server } from "http"; +import { createServer, Server as HttpsServer } from "https"; +import { Server as HttpServer } from "http"; +import { SSLCredentialsLoader } from './apis/google/CredentialsLoader'; /* RouteSetter is a wrapper around the server that prevents the server from being exposed. */ @@ -53,23 +55,17 @@ export default async function InitializeServer(routeSetter: RouteSetter) { const { serverPort } = process.env; const resolved = isRelease && serverPort ? Number(serverPort) : 1050; - let server: Server | SecureServer; + let server: HttpServer | HttpsServer; if (isRelease) { - server = createServer({ - key: fs.readFileSync(pathFromRoot(`./${process.env.serverName}.key`)), - cert: fs.readFileSync(pathFromRoot(`./${process.env.serverName}.crt`)) - }, app); - (server as SecureServer).listen(resolved, () => { - logPort("server", resolved); - console.log(); - }); + server = createServer(SSLCredentialsLoader.Credentials, app).listen(resolved, () => logPort("server", resolved)); } else { - server = app.listen(resolved, () => { - logPort("server", resolved); - console.log(); - }); + server = app.listen(resolved, () => logPort("server", resolved)); } + // initialize the web socket (bidirectional communication: if a user changes + // a field on one client, that change must be broadcast to all other clients) + WebSocket.initialize(isRelease, app); + disconnect = async () => new Promise<Error>(resolve => server.close(resolve)); return isRelease; } |
