File tree Expand file tree Collapse file tree 4 files changed +14
-3
lines changed
rivetkit-typescript/packages/rivetkit/src Expand file tree Collapse file tree 4 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -335,19 +335,21 @@ export async function handleAction(
335335}
336336
337337export async function handleRawRequest (
338+ c : HonoContext ,
338339 req : Request ,
339340 actorDriver : ActorDriver ,
340341 actorId : string ,
341342) : Promise < Response > {
342343 const actor = await actorDriver . loadActor ( actorId ) ;
344+ const parameters = getRequestConnParams ( c . req ) ;
343345
344346 // Track connection outside of scope for cleanup
345347 let createdConn : AnyConn | undefined ;
346348
347349 try {
348350 const conn = await actor . connectionManager . prepareAndConnectConn (
349351 createRawRequestSocket ( ) ,
350- { } ,
352+ parameters ,
351353 req ,
352354 ) ;
353355
@@ -368,6 +370,7 @@ export async function handleRawWebSocket(
368370 actorDriver : ActorDriver ,
369371 actorId : string ,
370372 requestIdBuf : ArrayBuffer | undefined ,
373+ connParams : unknown | undefined ,
371374) : Promise < UpgradeWebSocketArgs > {
372375 const exposeInternalError = req
373376 ? getRequestExposeInternalError ( req )
@@ -414,7 +417,7 @@ export async function handleRawWebSocket(
414417 ) ;
415418 const conn = await actor . connectionManager . prepareAndConnectConn (
416419 driver ,
417- { } ,
420+ connParams ?? { } ,
418421 newRequest ,
419422 ) ;
420423 createdConn = conn ;
Original file line number Diff line number Diff line change @@ -110,7 +110,6 @@ export function createActorRouter(
110110 const upgradeWebSocket = runConfig . getUpgradeWebSocket ?.( ) ;
111111 if ( upgradeWebSocket ) {
112112 return upgradeWebSocket ( async ( c ) => {
113- // Parse configuration from Sec-WebSocket-Protocol header
114113 const protocols = c . req . header ( "sec-websocket-protocol" ) ;
115114 const { encoding, connParams } =
116115 parseWebSocketProtocols ( protocols ) ;
@@ -165,6 +164,7 @@ export function createActorRouter(
165164 } ) ;
166165
167166 return await handleRawRequest (
167+ c ,
168168 correctedRequest ,
169169 actorDriver ,
170170 c . env . actorId ,
@@ -178,12 +178,16 @@ export function createActorRouter(
178178 const url = new URL ( c . req . url ) ;
179179 const pathWithQuery = c . req . path + url . search ;
180180
181+ const protocols = c . req . header ( "sec-websocket-protocol" ) ;
182+ const { connParams } = parseWebSocketProtocols ( protocols ) ;
183+
181184 loggerWithoutContext ( ) . debug ( {
182185 msg : "actor router raw websocket" ,
183186 path : c . req . path ,
184187 url : c . req . url ,
185188 search : url . search ,
186189 pathWithQuery,
190+ connParams,
187191 } ) ;
188192
189193 return await handleRawWebSocket (
@@ -192,6 +196,7 @@ export function createActorRouter(
192196 actorDriver ,
193197 c . env . actorId ,
194198 undefined ,
199+ connParams ,
195200 ) ;
196201 } ) ( c , noopNext ( ) ) ;
197202 } else {
Original file line number Diff line number Diff line change @@ -562,6 +562,7 @@ export class EngineActorDriver implements ActorDriver {
562562 this ,
563563 actorId ,
564564 requestIdBuf ,
565+ connParams ,
565566 ) ;
566567 } else {
567568 throw new Error ( `Unreachable path: ${ url . pathname } ` ) ;
Original file line number Diff line number Diff line change @@ -189,6 +189,7 @@ export class FileSystemManagerDriver implements ManagerDriver {
189189 this . #actorDriver,
190190 actorId ,
191191 undefined ,
192+ params ,
192193 ) ;
193194 return new InlineWebSocketAdapter2 ( wsHandler ) ;
194195 } else {
@@ -246,6 +247,7 @@ export class FileSystemManagerDriver implements ManagerDriver {
246247 this . #actorDriver,
247248 actorId ,
248249 undefined ,
250+ connParams ,
249251 ) ;
250252 return upgradeWebSocket ( ( ) => wsHandler ) ( c , noopNext ( ) ) ;
251253 } else {
You can’t perform that action at this time.
0 commit comments