@@ -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 , providerUtils . ShouldSendBackRawRequest ( ctx , provider .sendBackRawRequest ), providerUtils . ShouldSendBackRawResponse ( ctx , 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 , providerUtils . ShouldSendBackRawRequest ( ctx , provider .sendBackRawRequest ), providerUtils . ShouldSendBackRawResponse ( ctx , 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 , providerUtils . ShouldSendBackRawRequest ( ctx , provider .sendBackRawRequest ), providerUtils . ShouldSendBackRawResponse ( ctx , 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 , providerUtils . ShouldSendBackRawRequest ( ctx , provider .sendBackRawRequest ), providerUtils . ShouldSendBackRawResponse ( ctx , 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 ,
@@ -570,18 +592,19 @@ func (provider *AzureProvider) Responses(ctx context.Context, key schemas.Key, r
570592 }
571593
572594 response := & schemas.BifrostResponsesResponse {}
595+ var rawRequest interface {}
573596 var rawResponse interface {}
574597
575598 if schemas .IsAnthropicModel (deployment ) {
576599 anthropicResponse := anthropic .AcquireAnthropicMessageResponse ()
577600 defer anthropic .ReleaseAnthropicMessageResponse (anthropicResponse )
578- rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , anthropicResponse , provider .sendBackRawResponse )
601+ rawRequest , rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , anthropicResponse , jsonData , providerUtils . ShouldSendBackRawRequest ( ctx , provider .sendBackRawRequest ), providerUtils . ShouldSendBackRawResponse ( ctx , provider . sendBackRawResponse ) )
579602 if bifrostErr != nil {
580603 return nil , bifrostErr
581604 }
582605 response = anthropicResponse .ToBifrostResponsesResponse ()
583606 } else {
584- rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , response , provider .sendBackRawResponse )
607+ rawRequest , rawResponse , bifrostErr = providerUtils .HandleProviderResponse (responseBody , response , jsonData , providerUtils . ShouldSendBackRawRequest ( ctx , provider .sendBackRawRequest ), providerUtils . ShouldSendBackRawResponse ( ctx , provider . sendBackRawResponse ) )
585608 if bifrostErr != nil {
586609 return nil , bifrostErr
587610 }
@@ -593,6 +616,11 @@ func (provider *AzureProvider) Responses(ctx context.Context, key schemas.Key, r
593616 response .ExtraFields .Latency = latency .Milliseconds ()
594617 response .ExtraFields .RequestType = schemas .ResponsesRequest
595618
619+ // Set raw request if enabled
620+ if providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ) {
621+ response .ExtraFields .RawRequest = rawRequest
622+ }
623+
596624 // Set raw response if enabled
597625 if providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ) {
598626 response .ExtraFields .RawResponse = rawResponse
@@ -651,6 +679,7 @@ func (provider *AzureProvider) ResponsesStream(ctx context.Context, postHookRunn
651679 jsonData ,
652680 authHeader ,
653681 provider .networkConfig .ExtraHeaders ,
682+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
654683 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
655684 provider .GetProviderKey (),
656685 postHookRunner ,
@@ -679,6 +708,7 @@ func (provider *AzureProvider) ResponsesStream(ctx context.Context, postHookRunn
679708 request ,
680709 authHeader ,
681710 provider .networkConfig .ExtraHeaders ,
711+ providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ),
682712 providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ),
683713 provider .GetProviderKey (),
684714 postHookRunner ,
@@ -728,7 +758,7 @@ func (provider *AzureProvider) Embedding(ctx context.Context, key schemas.Key, r
728758 response := & schemas.BifrostEmbeddingResponse {}
729759
730760 // Use enhanced response handler with pre-allocated response
731- rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , response , provider .sendBackRawResponse )
761+ rawRequest , rawResponse , bifrostErr := providerUtils .HandleProviderResponse (responseBody , response , jsonData , providerUtils . ShouldSendBackRawRequest ( ctx , provider .sendBackRawRequest ), providerUtils . ShouldSendBackRawResponse ( ctx , provider . sendBackRawResponse ) )
732762 if bifrostErr != nil {
733763 return nil , bifrostErr
734764 }
@@ -739,6 +769,12 @@ func (provider *AzureProvider) Embedding(ctx context.Context, key schemas.Key, r
739769 response .ExtraFields .ModelDeployment = deployment
740770 response .ExtraFields .RequestType = schemas .EmbeddingRequest
741771
772+ // Set raw request if enabled
773+ if providerUtils .ShouldSendBackRawRequest (ctx , provider .sendBackRawRequest ) {
774+ response .ExtraFields .RawRequest = rawRequest
775+ }
776+
777+ // Set raw response if enabled
742778 if providerUtils .ShouldSendBackRawResponse (ctx , provider .sendBackRawResponse ) {
743779 response .ExtraFields .RawResponse = rawResponse
744780 }
0 commit comments