@@ -28,54 +28,34 @@ export class WizardGateway implements OnGatewayConnection, OnGatewayDisconnect {
2828
2929 constructor ( private readonly wizardService : WizardService ) { }
3030
31- handleConnection ( client : Socket ) {
32- this . logger . log ( `Client connected: ${ client . id } ` ) ;
33- }
31+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
32+ handleConnection ( client : Socket ) { }
3433
35- handleDisconnect ( client : Socket ) {
36- this . logger . log ( `Client disconnected: ${ client . id } ` ) ;
37- }
34+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
35+ handleDisconnect ( client : Socket ) { }
3836
3937 @UseGuards ( WsJwtGuard )
4038 @SubscribeMessage ( 'ask' )
4139 async handleAsk (
4240 @MessageBody ( ) data : AgentRequestDto ,
4341 @ConnectedSocket ( ) client : Socket ,
4442 ) {
45- const userId = client . data . userId ;
46- const requestId = client . handshake . headers [ 'x-request-id' ] as string ;
47-
48- try {
49- const observable = await this . wizardService . streamService . agentStream (
50- userId ,
51- data ,
52- requestId ,
53- 'ask' ,
54- ) ;
55-
56- observable . subscribe ( {
57- next : ( message ) => {
58- client . emit ( 'message' , message . data ) ;
59- } ,
60- error : ( error ) => {
61- this . logger . error ( 'Error in ask stream' , error ) ;
62- client . emit ( 'error' , { error : error . message } ) ;
63- } ,
64- complete : ( ) => {
65- client . emit ( 'complete' ) ;
66- } ,
67- } ) ;
68- } catch ( error ) {
69- this . logger . error ( 'Error handling ask' , error ) ;
70- client . emit ( 'error' , { error : error . message } ) ;
71- }
43+ await this . handleAgentStream ( client , data , 'ask' ) ;
7244 }
7345
7446 @UseGuards ( WsJwtGuard )
7547 @SubscribeMessage ( 'write' )
7648 async handleWrite (
7749 @MessageBody ( ) data : AgentRequestDto ,
7850 @ConnectedSocket ( ) client : Socket ,
51+ ) {
52+ await this . handleAgentStream ( client , data , 'write' ) ;
53+ }
54+
55+ private async handleAgentStream (
56+ client : Socket ,
57+ data : AgentRequestDto ,
58+ eventType : 'ask' | 'write' ,
7959 ) {
8060 const userId = client . data . userId ;
8161 const requestId = client . handshake . headers [ 'x-request-id' ] as string ;
@@ -85,23 +65,23 @@ export class WizardGateway implements OnGatewayConnection, OnGatewayDisconnect {
8565 userId ,
8666 data ,
8767 requestId ,
88- 'write' ,
68+ eventType ,
8969 ) ;
9070
9171 observable . subscribe ( {
9272 next : ( message ) => {
9373 client . emit ( 'message' , message . data ) ;
9474 } ,
9575 error : ( error ) => {
96- this . logger . error ( ' Error in write stream' , error ) ;
76+ this . logger . error ( ` Error in ${ eventType } stream` , error ) ;
9777 client . emit ( 'error' , { error : error . message } ) ;
9878 } ,
9979 complete : ( ) => {
10080 client . emit ( 'complete' ) ;
10181 } ,
10282 } ) ;
10383 } catch ( error ) {
104- this . logger . error ( ' Error handling write' , error ) ;
84+ this . logger . error ( ` Error handling ${ eventType } ` , error ) ;
10585 client . emit ( 'error' , { error : error . message } ) ;
10686 }
10787 }
0 commit comments