@@ -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
@@ -472,6 +492,7 @@ func (provider *AzureProvider) ChatCompletionStream(ctx context.Context, postHoo
472492 jsonData ,
473493 authHeader ,
474494 provider .networkConfig .ExtraHeaders ,
495+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
475496 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
476497 provider .GetProviderKey (),
477498 postHookRunner ,
@@ -499,6 +520,7 @@ func (provider *AzureProvider) ChatCompletionStream(ctx context.Context, postHoo
499520 request ,
500521 authHeader ,
501522 provider .networkConfig .ExtraHeaders ,
523+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
502524 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
503525 provider .GetProviderKey (),
504526 postHookRunner ,
@@ -568,18 +590,19 @@ func (provider *AzureProvider) Responses(ctx context.Context, key schemas.Key, r
568590 }
569591
570592 response := & schemas.BifrostResponsesResponse {}
593+ var rawRequest interface {}
571594 var rawResponse interface {}
572595
573596 if schemas .IsAnthropicModel (deployment ) {
574597 anthropicResponse := anthropic .AcquireAnthropicMessageResponse ()
575598 defer anthropic .ReleaseAnthropicMessageResponse (anthropicResponse )
576- rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , anthropicResponse , provider .sendBackRawResponse )
599+ rawRequest , rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , anthropicResponse , jsonData , provider . sendBackRawRequest , provider .sendBackRawResponse )
577600 if bifrostErr != nil {
578601 return nil , bifrostErr
579602 }
580603 response = anthropicResponse .ToBifrostResponsesResponse ()
581604 } else {
582- rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , response , provider .sendBackRawResponse )
605+ rawRequest , rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , response , jsonData , provider . sendBackRawRequest , provider .sendBackRawResponse )
583606 if bifrostErr != nil {
584607 return nil , bifrostErr
585608 }
@@ -591,6 +614,11 @@ func (provider *AzureProvider) Responses(ctx context.Context, key schemas.Key, r
591614 response .ExtraFields .Latency = latency .Milliseconds ()
592615 response .ExtraFields .RequestType = schemas .ResponsesRequest
593616
617+ // Set raw request if enabled
618+ if providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ) {
619+ response .ExtraFields .RawRequest = rawRequest
620+ }
621+
594622 // Set raw response if enabled
595623 if providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ) {
596624 response .ExtraFields .RawResponse = rawResponse
@@ -647,6 +675,7 @@ func (provider *AzureProvider) ResponsesStream(ctx context.Context, postHookRunn
647675 jsonData ,
648676 authHeader ,
649677 provider .networkConfig .ExtraHeaders ,
678+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
650679 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
651680 provider .GetProviderKey (),
652681 postHookRunner ,
@@ -675,6 +704,7 @@ func (provider *AzureProvider) ResponsesStream(ctx context.Context, postHookRunn
675704 request ,
676705 authHeader ,
677706 provider .networkConfig .ExtraHeaders ,
707+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
678708 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
679709 provider .GetProviderKey (),
680710 postHookRunner ,
@@ -724,7 +754,7 @@ func (provider *AzureProvider) Embedding(ctx context.Context, key schemas.Key, r
724754 response := & schemas.BifrostEmbeddingResponse {}
725755
726756 // Use enhanced response handler with pre-allocated response
727- rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , response , provider .sendBackRawResponse )
757+ rawRequest , rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , response , jsonData , provider . sendBackRawRequest , provider .sendBackRawResponse )
728758 if bifrostErr != nil {
729759 return nil , bifrostErr
730760 }
@@ -735,6 +765,12 @@ func (provider *AzureProvider) Embedding(ctx context.Context, key schemas.Key, r
735765 response .ExtraFields .ModelDeployment = deployment
736766 response .ExtraFields .RequestType = schemas .EmbeddingRequest
737767
768+ // Set raw request if enabled
769+ if providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ) {
770+ response .ExtraFields .RawRequest = rawRequest
771+ }
772+
773+ // Set raw response if enabled
738774 if providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ) {
739775 response .ExtraFields .RawResponse = rawResponse
740776 }
0 commit comments