Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/keyserver.js
// @flow | // @flow | ||||
import olm from '@commapp/olm'; | import olm from '@commapp/olm'; | ||||
import cluster from 'cluster'; | import cluster from 'cluster'; | ||||
import cookieParser from 'cookie-parser'; | import cookieParser from 'cookie-parser'; | ||||
import express from 'express'; | import express from 'express'; | ||||
import expressWs from 'express-ws'; | import expressWs from 'express-ws'; | ||||
import os from 'os'; | import os from 'os'; | ||||
import './cron/cron.js'; | import './cron/cron.js'; | ||||
import { migrate } from './database/migrations.js'; | import { migrate } from './database/migrations.js'; | ||||
import { jsonEndpoints } from './endpoints.js'; | import { jsonEndpoints } from './endpoints.js'; | ||||
import { emailSubscriptionResponder } from './responders/comm-landing-responders.js'; | import { emailSubscriptionResponder } from './responders/comm-landing-responders.js'; | ||||
import { | import { | ||||
jsonHandler, | jsonHandler, | ||||
downloadHandler, | downloadHandler, | ||||
handleAsyncPromise, | |||||
htmlHandler, | htmlHandler, | ||||
uploadHandler, | uploadHandler, | ||||
} from './responders/handlers.js'; | } from './responders/handlers.js'; | ||||
import landingHandler from './responders/landing-handler.js'; | import landingHandler from './responders/landing-handler.js'; | ||||
import { errorReportDownloadResponder } from './responders/report-responders.js'; | import { errorReportDownloadResponder } from './responders/report-responders.js'; | ||||
import { | import { | ||||
inviteResponder, | inviteResponder, | ||||
websiteResponder, | websiteResponder, | ||||
} from './responders/website-responders.js'; | } from './responders/website-responders.js'; | ||||
import { webWorkerResponder } from './responders/webworker-responders.js'; | import { webWorkerResponder } from './responders/webworker-responders.js'; | ||||
import { onConnection } from './socket/socket.js'; | import { onConnection } from './socket/socket.js'; | ||||
import { createAndMaintainTunnelbrokerWebsocket } from './socket/tunnelbroker.js'; | |||||
import { | import { | ||||
multerProcessor, | multerProcessor, | ||||
multimediaUploadResponder, | multimediaUploadResponder, | ||||
uploadDownloadResponder, | uploadDownloadResponder, | ||||
} from './uploads/uploads.js'; | } from './uploads/uploads.js'; | ||||
import { verifyUserLoggedIn } from './user/login.js'; | import { verifyUserLoggedIn } from './user/login.js'; | ||||
import { initENSCache } from './utils/ens-cache.js'; | import { initENSCache } from './utils/ens-cache.js'; | ||||
import { | import { | ||||
Show All 21 Lines | if (!didMigrationsSucceed) { | ||||
// The following line uses exit code 2 to ensure nodemon exits | // The following line uses exit code 2 to ensure nodemon exits | ||||
// in a dev environment, instead of restarting. Context provided | // in a dev environment, instead of restarting. Context provided | ||||
// in https://github.com/remy/nodemon/issues/751 | // in https://github.com/remy/nodemon/issues/751 | ||||
process.exit(2); | process.exit(2); | ||||
} | } | ||||
// Allow login to be optional until staging environment is available | // Allow login to be optional until staging environment is available | ||||
try { | try { | ||||
await verifyUserLoggedIn(); | // We await here to ensure that the keyserver has been provisioned a | ||||
// commServicesAccessToken. In the future, this will be necessary for | |||||
// many keyserver operations. | |||||
const identityInfo = await verifyUserLoggedIn(); | |||||
// We don't await here, as Tunnelbroker communication is not needed for | |||||
// normal keyserver behavior yet. In addition, this doesn't return | |||||
// information useful for other keyserver functions. | |||||
handleAsyncPromise(createAndMaintainTunnelbrokerWebsocket(identityInfo)); | |||||
} catch (e) { | } catch (e) { | ||||
console.warn('failed_identity_login'); | console.warn('failed_identity_login'); | ||||
} | } | ||||
const cpuCount = os.cpus().length; | const cpuCount = os.cpus().length; | ||||
for (let i = 0; i < cpuCount; i++) { | for (let i = 0; i < cpuCount; i++) { | ||||
cluster.fork(); | cluster.fork(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 120 Lines • Show Last 20 Lines |