File tree Expand file tree Collapse file tree 2 files changed +27
-4
lines changed
tests/OpenAI.IntegrationTests Expand file tree Collapse file tree 2 files changed +27
-4
lines changed Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ partial void Authorized(
1616 /// </summary>
1717 /// <param name="cancellationToken"></param>
1818 /// <returns></returns>
19- public async IAsyncEnumerable < RealtimeServerEventBase > ReceiveUpdatesAsync (
19+ public async IAsyncEnumerable < RealtimeServerEvent > ReceiveUpdatesAsync (
2020 [ EnumeratorCancellation ] CancellationToken cancellationToken = default )
2121 {
2222 if ( ! IsConnected )
@@ -53,7 +53,7 @@ public async IAsyncEnumerable<RealtimeServerEventBase> ReceiveUpdatesAsync(
5353 if ( result . MessageType == WebSocketMessageType . Text )
5454 {
5555 string json = global ::System . Text . Encoding . UTF8 . GetString ( buffer , 0 , result . Count ) ;
56- var @event = global ::OpenAI . RealtimeServerEventBase . FromJson ( json , JsonSerializerContext ) ??
56+ var @event = global ::OpenAI . RealtimeServerEvent . FromJson ( json , JsonSerializerContext ) ??
5757 throw new global ::System . InvalidOperationException ( $ "Response deserialization failed for \" { json } \" ") ;
5858
5959 yield return @event ;
Original file line number Diff line number Diff line change @@ -21,9 +21,32 @@ await realtimeConversationClient.SendAsync(new RealtimeResponseCreate
2121 }
2222 } . ToJson ( realtimeConversationClient . JsonSerializerContext ) , cancellationToken ) ;
2323
24- await foreach ( RealtimeServerEventBase receivedMessage in realtimeConversationClient . ReceiveUpdatesAsync ( cancellationToken ) )
24+ await foreach ( RealtimeServerEvent receivedMessage in realtimeConversationClient . ReceiveUpdatesAsync ( cancellationToken ) )
2525 {
26- Console . WriteLine ( value : "Message received. Type:" + receivedMessage . Type ) ;
26+ if ( receivedMessage . IsSessionCreated )
27+ {
28+ Console . WriteLine ( $ "Session created. ID: { receivedMessage . SessionCreated . EventId } ") ;
29+ Console . WriteLine ( receivedMessage . SessionCreated . Session ? . ToJson ( realtimeConversationClient . JsonSerializerContext ) ) ;
30+ }
31+ else if ( receivedMessage . IsResponseCreated )
32+ {
33+ Console . WriteLine ( $ "Response created. ID: { receivedMessage . ResponseCreated . EventId } ") ;
34+ Console . WriteLine ( receivedMessage . ResponseCreated . Response ? . ToJson ( realtimeConversationClient . JsonSerializerContext ) ) ;
35+ }
36+ else if ( receivedMessage . IsRateLimitsUpdated )
37+ {
38+ Console . WriteLine ( $ "Response updated. ID: { receivedMessage . RateLimitsUpdated . EventId } ") ;
39+ Console . WriteLine ( receivedMessage . RateLimitsUpdated . ToJson ( realtimeConversationClient . JsonSerializerContext ) ) ;
40+ }
41+ else if ( receivedMessage . IsError )
42+ {
43+ Console . WriteLine ( $ "Error. ID: { receivedMessage . Error . EventId } ") ;
44+ Console . WriteLine ( receivedMessage . Error . Error ? . ToJson ( realtimeConversationClient . JsonSerializerContext ) ) ;
45+ }
46+ else
47+ {
48+ Console . WriteLine ( $ "Unknown message: { receivedMessage . ToJson ( realtimeConversationClient . JsonSerializerContext ) } ") ;
49+ }
2750 }
2851 }
2952}
You can’t perform that action at this time.
0 commit comments