@@ -73,7 +73,11 @@ public override async Task BeforeRequestAsync(ProxyRequestArgs e, CancellationTo
7373 return ;
7474 }
7575
76- if ( ! OpenAIRequest . TryGetCompletionLikeRequest ( request . BodyString , Logger , out var openAiRequest ) )
76+ Logger . LogDebug ( "Request encoding: {Encoding}" , request . Encoding ? . EncodingName ?? "null" ) ;
77+ var originalBody = System . Text . Encoding . UTF8 . GetString ( request . Body ) ;
78+ Logger . LogDebug ( "Original request body:\n {Body}" , originalBody ) ;
79+
80+ if ( ! OpenAIRequest . TryGetCompletionLikeRequest ( originalBody , Logger , out var openAiRequest ) )
7781 {
7882 Logger . LogRequest ( "Skipping non-OpenAI request" , MessageType . Skipped , new LoggingContext ( e . Session ) ) ;
7983 return ;
@@ -91,15 +95,17 @@ public override async Task BeforeRequestAsync(ProxyRequestArgs e, CancellationTo
9195 completionRequest . Prompt += "\n \n " + faultPrompt ;
9296 Logger . LogDebug ( "Modified completion request prompt: {Prompt}" , completionRequest . Prompt ) ;
9397 Logger . LogRequest ( $ "Simulating fault { faultName } ", MessageType . Chaos , new LoggingContext ( e . Session ) ) ;
94- e . Session . SetRequestBodyString ( JsonSerializer . Serialize ( completionRequest , ProxyUtils . JsonSerializerOptions ) ) ;
98+ var modifiedBody = JsonSerializer . Serialize ( completionRequest , ProxyUtils . JsonSerializerOptions ) ;
99+ Logger . LogDebug ( "Modified request body:\n {Body}" , modifiedBody ) ;
100+ e . Session . SetRequestBodyString ( modifiedBody ) ;
95101 }
96102 else if ( openAiRequest is OpenAIChatCompletionRequest chatRequest )
97103 {
98104 var messages = new List < OpenAIChatCompletionMessage > ( chatRequest . Messages )
99105 {
100106 new ( )
101107 {
102- Role = "user " ,
108+ Role = "system " ,
103109 Content = faultPrompt
104110 }
105111 } ;
@@ -114,15 +120,17 @@ public override async Task BeforeRequestAsync(ProxyRequestArgs e, CancellationTo
114120
115121 Logger . LogDebug ( "Added fault prompt to messages: {Prompt}" , faultPrompt ) ;
116122 Logger . LogRequest ( $ "Simulating fault { faultName } ", MessageType . Chaos , new LoggingContext ( e . Session ) ) ;
117- e . Session . SetRequestBodyString ( JsonSerializer . Serialize ( newRequest , ProxyUtils . JsonSerializerOptions ) ) ;
123+ var modifiedBody = JsonSerializer . Serialize ( newRequest , ProxyUtils . JsonSerializerOptions ) ;
124+ Logger . LogDebug ( "Modified request body:\n {Body}" , modifiedBody ) ;
125+ e . Session . SetRequestBodyString ( modifiedBody ) ;
118126 }
119127 else if ( openAiRequest is OpenAIResponsesRequest responsesRequest )
120128 {
121129 var inputItems = new List < OpenAIResponsesInputItem > ( responsesRequest . Input ?? [ ] )
122130 {
123131 new ( )
124132 {
125- Role = "user " ,
133+ Role = "system " ,
126134 Content = faultPrompt
127135 }
128136 } ;
@@ -144,7 +152,9 @@ public override async Task BeforeRequestAsync(ProxyRequestArgs e, CancellationTo
144152
145153 Logger . LogDebug ( "Added fault prompt to Responses API input: {Prompt}" , faultPrompt ) ;
146154 Logger . LogRequest ( $ "Simulating fault { faultName } ", MessageType . Chaos , new LoggingContext ( e . Session ) ) ;
147- e . Session . SetRequestBodyString ( JsonSerializer . Serialize ( newRequest , ProxyUtils . JsonSerializerOptions ) ) ;
155+ var modifiedBody = JsonSerializer . Serialize ( newRequest , ProxyUtils . JsonSerializerOptions ) ;
156+ Logger . LogDebug ( "Modified request body:\n {Body}" , modifiedBody ) ;
157+ e . Session . SetRequestBodyString ( modifiedBody ) ;
148158 }
149159 else
150160 {
0 commit comments