From ad135f328553d23e7753e8445cbf6e945abf3136 Mon Sep 17 00:00:00 2001 From: csgulati09 Date: Wed, 8 Jan 2025 13:27:57 +0530 Subject: [PATCH] fix: forwardHeaders logic --- portkey_ai/api_resources/apis/create_headers.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/portkey_ai/api_resources/apis/create_headers.py b/portkey_ai/api_resources/apis/create_headers.py index df7cfc55..29fa8572 100644 --- a/portkey_ai/api_resources/apis/create_headers.py +++ b/portkey_ai/api_resources/apis/create_headers.py @@ -11,6 +11,12 @@ def __init__(self, **kwargs) -> None: # type: ignore def json(self) -> Mapping: headers = {} + forward_headers = self.kwargs.get("forward_headers", []) + # Logic to accept both _ and - in forward_headers for devex + if forward_headers: + forward_headers = [ + "-".join(header.split("_")) for header in forward_headers + ] for k, v in self.kwargs.items(): # logic for boolean type headers if isinstance(v, bool): @@ -22,7 +28,10 @@ def json(self) -> Mapping: v = json.dumps(v) if v: if k.lower() != "authorization": - headers[get_portkey_header(k)] = str(v) + if forward_headers and k in forward_headers: + headers[k] = str(v) + else: + headers[get_portkey_header(k)] = str(v) else: # Logic to add Bearer only if it is not present. # Else it would be added everytime a request is made