platform/server/ws/src/factories.ts
Andrey Sobolev 096bfacad7
UBERF-6778: Add Support to uWebSocket.js library (#5503)
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
2024-05-06 14:15:39 +05:00

37 lines
963 B
TypeScript

import { startHttpServer } from './server_http'
import { type ServerFactory } from './types'
/**
* @public
*/
export const serverFactories: Record<string, ServerFactory> = {
ws: startHttpServer,
uweb: (sessions, handleRequest, ctx, pipelineFactory, port, productId, enableCompression, accountsUrl) => {
try {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const serverHttp = require('./server_u')
return serverHttp.startUWebsocketServer(
sessions,
handleRequest,
ctx,
pipelineFactory,
port,
productId,
enableCompression,
accountsUrl
)
} catch (err: any) {
console.error('uwebsocket.js is not supported, switcg back to nodejs ws')
return startHttpServer(
sessions,
handleRequest,
ctx,
pipelineFactory,
port,
productId,
enableCompression,
accountsUrl
)
}
}
}