@@ -23,6 +23,7 @@ type AzureProvider struct {
2323 logger schemas.Logger // Logger for provider operations
2424 client * fasthttp.Client // HTTP client for API requests
2525 networkConfig schemas.NetworkConfig // Network configuration including extra headers
26+ sendBackRawRequest bool // Whether to include raw request in BifrostResponse
2627 sendBackRawResponse bool // Whether to include raw response in BifrostResponse
2728}
2829
@@ -47,6 +48,7 @@ func NewAzureProvider(config *schemas.ProviderConfig, logger schemas.Logger) (*A
4748 logger : logger ,
4849 client : client ,
4950 networkConfig : config .NetworkConfig ,
51+ sendBackRawRequest : config .SendBackRawRequest ,
5052 sendBackRawResponse : config .SendBackRawResponse ,
5153 }, nil
5254}
@@ -192,7 +194,7 @@ func (provider *AzureProvider) listModelsByKey(ctx context.Context, key schemas.
192194
193195 // Parse Azure-specific response
194196 azureResponse := & AzureListModelsResponse {}
195- rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , azureResponse , provider .sendBackRawResponse )
197+ rawRequest , rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , azureResponse , nil , provider . sendBackRawRequest , provider .sendBackRawResponse )
196198 if bifrostErr != nil {
197199 return nil , bifrostErr
198200 }
@@ -205,6 +207,12 @@ func (provider *AzureProvider) listModelsByKey(ctx context.Context, key schemas.
205207
206208 response .ExtraFields .Latency = latency .Milliseconds ()
207209
210+ // Set raw request if enabled
211+ if providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ) {
212+ response .ExtraFields .RawRequest = rawRequest
213+ }
214+
215+ // Set raw response if enabled
208216 if providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ) {
209217 response .ExtraFields .RawResponse = rawResponse
210218 }
@@ -263,7 +271,7 @@ func (provider *AzureProvider) TextCompletion(ctx context.Context, key schemas.K
263271
264272 response := & schemas.BifrostTextCompletionResponse {}
265273
266- rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , response , provider .sendBackRawResponse )
274+ rawRequest , rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , response , jsonData , provider . sendBackRawRequest , provider .sendBackRawResponse )
267275 if bifrostErr != nil {
268276 return nil , bifrostErr
269277 }
@@ -274,6 +282,11 @@ func (provider *AzureProvider) TextCompletion(ctx context.Context, key schemas.K
274282 response .ExtraFields .RequestType = schemas .TextCompletionRequest
275283 response .ExtraFields .Latency = latency .Milliseconds ()
276284
285+ // Set raw request if enabled
286+ if providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ) {
287+ response .ExtraFields .RawRequest = rawRequest
288+ }
289+
277290 // Set raw response if enabled
278291 if providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ) {
279292 response .ExtraFields .RawResponse = rawResponse
@@ -324,6 +337,7 @@ func (provider *AzureProvider) TextCompletionStream(ctx context.Context, postHoo
324337 request ,
325338 authHeader ,
326339 provider .networkConfig .ExtraHeaders ,
340+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
327341 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
328342 provider .GetProviderKey (),
329343 postHookRunner ,
@@ -388,18 +402,19 @@ func (provider *AzureProvider) ChatCompletion(ctx context.Context, key schemas.K
388402 }
389403
390404 response := & schemas.BifrostChatResponse {}
405+ var rawRequest interface {}
391406 var rawResponse interface {}
392407
393408 if schemas .IsAnthropicModel (deployment ) {
394409 anthropicResponse := anthropic .AcquireAnthropicMessageResponse ()
395410 defer anthropic .ReleaseAnthropicMessageResponse (anthropicResponse )
396- rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , anthropicResponse , provider .sendBackRawResponse )
411+ rawRequest , rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , anthropicResponse , jsonData , provider . sendBackRawRequest , provider .sendBackRawResponse )
397412 if bifrostErr != nil {
398413 return nil , bifrostErr
399414 }
400415 response = anthropicResponse .ToBifrostChatResponse ()
401416 } else {
402- rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , response , provider .sendBackRawResponse )
417+ rawRequest , rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , response , jsonData , provider . sendBackRawRequest , provider .sendBackRawResponse )
403418 if bifrostErr != nil {
404419 return nil , bifrostErr
405420 }
@@ -411,6 +426,11 @@ func (provider *AzureProvider) ChatCompletion(ctx context.Context, key schemas.K
411426 response .ExtraFields .Latency = latency .Milliseconds ()
412427 response .ExtraFields .RequestType = schemas .ChatCompletionRequest
413428
429+ // Set raw request if enabled
430+ if providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ) {
431+ response .ExtraFields .RawRequest = rawRequest
432+ }
433+
414434 // Set raw response if enabled
415435 if providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ) {
416436 response .ExtraFields .RawResponse = rawResponse
@@ -470,6 +490,7 @@ func (provider *AzureProvider) ChatCompletionStream(ctx context.Context, postHoo
470490 jsonData ,
471491 authHeader ,
472492 provider .networkConfig .ExtraHeaders ,
493+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
473494 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
474495 provider .GetProviderKey (),
475496 postHookRunner ,
@@ -497,6 +518,7 @@ func (provider *AzureProvider) ChatCompletionStream(ctx context.Context, postHoo
497518 request ,
498519 authHeader ,
499520 provider .networkConfig .ExtraHeaders ,
521+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
500522 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
501523 provider .GetProviderKey (),
502524 postHookRunner ,
@@ -566,18 +588,19 @@ func (provider *AzureProvider) Responses(ctx context.Context, key schemas.Key, r
566588 }
567589
568590 response := & schemas.BifrostResponsesResponse {}
591+ var rawRequest interface {}
569592 var rawResponse interface {}
570593
571594 if schemas .IsAnthropicModel (deployment ) {
572595 anthropicResponse := anthropic .AcquireAnthropicMessageResponse ()
573596 defer anthropic .ReleaseAnthropicMessageResponse (anthropicResponse )
574- rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , anthropicResponse , provider .sendBackRawResponse )
597+ rawRequest , rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , anthropicResponse , jsonData , provider . sendBackRawRequest , provider .sendBackRawResponse )
575598 if bifrostErr != nil {
576599 return nil , bifrostErr
577600 }
578601 response = anthropicResponse .ToBifrostResponsesResponse ()
579602 } else {
580- rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , response , provider .sendBackRawResponse )
603+ rawRequest , rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , response , jsonData , provider . sendBackRawRequest , provider .sendBackRawResponse )
581604 if bifrostErr != nil {
582605 return nil , bifrostErr
583606 }
@@ -589,6 +612,11 @@ func (provider *AzureProvider) Responses(ctx context.Context, key schemas.Key, r
589612 response .ExtraFields .Latency = latency .Milliseconds ()
590613 response .ExtraFields .RequestType = schemas .ResponsesRequest
591614
615+ // Set raw request if enabled
616+ if providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ) {
617+ response .ExtraFields .RawRequest = rawRequest
618+ }
619+
592620 // Set raw response if enabled
593621 if providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ) {
594622 response .ExtraFields .RawResponse = rawResponse
@@ -645,6 +673,7 @@ func (provider *AzureProvider) ResponsesStream(ctx context.Context, postHookRunn
645673 jsonData ,
646674 authHeader ,
647675 provider .networkConfig .ExtraHeaders ,
676+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
648677 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
649678 provider .GetProviderKey (),
650679 postHookRunner ,
@@ -673,6 +702,7 @@ func (provider *AzureProvider) ResponsesStream(ctx context.Context, postHookRunn
673702 request ,
674703 authHeader ,
675704 provider .networkConfig .ExtraHeaders ,
705+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
676706 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
677707 provider .GetProviderKey (),
678708 postHookRunner ,
@@ -722,7 +752,7 @@ func (provider *AzureProvider) Embedding(ctx context.Context, key schemas.Key, r
722752 response := & schemas.BifrostEmbeddingResponse {}
723753
724754 // Use enhanced response handler with pre-allocated response
725- rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , response , provider .sendBackRawResponse )
755+ rawRequest , rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , response , jsonData , provider . sendBackRawRequest , provider .sendBackRawResponse )
726756 if bifrostErr != nil {
727757 return nil , bifrostErr
728758 }
@@ -733,6 +763,12 @@ func (provider *AzureProvider) Embedding(ctx context.Context, key schemas.Key, r
733763 response .ExtraFields .ModelDeployment = deployment
734764 response .ExtraFields .RequestType = schemas .EmbeddingRequest
735765
766+ // Set raw request if enabled
767+ if providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ) {
768+ response .ExtraFields .RawRequest = rawRequest
769+ }
770+
771+ // Set raw response if enabled
736772 if providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ) {
737773 response .ExtraFields .RawResponse = rawResponse
738774 }
0 commit comments