Skip to content

Commit ac87a22

Browse files
committed
pass in logger to websockets/server
1 parent 0affa94 commit ac87a22

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

backend/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ server.listen(port, () => {
9494
logger.debug(`🚀 Server is running on port ${port}`)
9595
console.log(`🚀 Server is running on port ${port}`)
9696
})
97-
webSocketListen({ server, path: '/ws' })
97+
webSocketListen({ server, path: '/ws', logger })
9898

9999
let shutdownInProgress = false
100100
// Graceful shutdown handler for both SIGTERM and SIGINT

backend/src/websockets/server.ts

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import { WebSocketServer } from 'ws'
55
import { setSessionConnected } from '../live-user-inputs'
66
import { Switchboard } from './switchboard'
77
import { onWebsocketAction } from './websocket-action'
8-
import { logger } from '../util/logger'
98

109
import type { ServerMessage } from '@codebuff/common/websockets/websocket-schema'
10+
import type { Logger } from '@codebuff/types/logger'
1111
import type { Server as HttpServer } from 'node:http'
1212
import type { RawData, WebSocket } from 'ws'
1313

@@ -29,11 +29,14 @@ function serializeError(err: unknown) {
2929
return isError(err) ? err.message : 'Unexpected error.'
3030
}
3131

32-
async function processMessage(
33-
ws: WebSocket,
34-
clientSessionId: string,
35-
data: RawData,
36-
): Promise<ServerMessage<'ack'>> {
32+
async function processMessage(params: {
33+
ws: WebSocket
34+
clientSessionId: string
35+
data: RawData
36+
logger: Logger
37+
}): Promise<ServerMessage<'ack'>> {
38+
const { ws, clientSessionId, data, logger } = params
39+
3740
let messageObj: any
3841
try {
3942
messageObj = JSON.parse(data.toString())
@@ -80,8 +83,12 @@ async function processMessage(
8083
}
8184
}
8285

83-
export function listen(params: { server: HttpServer; path: string }) {
84-
const { server, path } = params
86+
export function listen(params: {
87+
server: HttpServer
88+
path: string
89+
logger: Logger
90+
}) {
91+
const { server, path, logger } = params
8592
const wss = new WebSocketServer({ server, path })
8693
let deadConnectionCleaner: NodeJS.Timeout | undefined
8794
wss.on('listening', () => {
@@ -129,7 +136,7 @@ export function listen(params: { server: HttpServer; path: string }) {
129136
// Mark session as connected
130137
setSessionConnected(clientSessionId, true)
131138
ws.on('message', async (data: RawData) => {
132-
const result = await processMessage(ws, clientSessionId, data)
139+
const result = await processMessage({ ws, clientSessionId, data, logger })
133140
// mqp: check ws.readyState before sending?
134141
ws.send(JSON.stringify(result))
135142
})

0 commit comments

Comments
 (0)