From c1a00c8f2d3f3c348a2c5f54df7d5f9700217e9b Mon Sep 17 00:00:00 2001 From: csgulati09 Date: Fri, 31 May 2024 16:29:45 +0530 Subject: [PATCH] fix: list of str for forward headers + logic for list of str to comma separated str --- portkey_ai/api_resources/apis/create_headers.py | 6 ++++++ portkey_ai/api_resources/base_client.py | 5 +++-- portkey_ai/api_resources/client.py | 10 +++++----- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/portkey_ai/api_resources/apis/create_headers.py b/portkey_ai/api_resources/apis/create_headers.py index a1136ef..50f7f41 100644 --- a/portkey_ai/api_resources/apis/create_headers.py +++ b/portkey_ai/api_resources/apis/create_headers.py @@ -12,6 +12,8 @@ def __init__(self, **kwargs) -> None: # type: ignore def json(self) -> Mapping: headers = {} for k, v in self.kwargs.items(): + + # logic for boolean type headers if type(v) == bool: v = str(v).lower() if k == "mode" and "proxy" not in v: @@ -24,6 +26,10 @@ def json(self) -> Mapping: headers[get_portkey_header(k)] = str(v) else: headers[k] = str("Bearer " + v) + + # logic for List of str to comma separated string + if k == "forward-headers": + headers[get_portkey_header(k)] = ",".join(v) return headers diff --git a/portkey_ai/api_resources/base_client.py b/portkey_ai/api_resources/base_client.py index ca53387..db16989 100644 --- a/portkey_ai/api_resources/base_client.py +++ b/portkey_ai/api_resources/base_client.py @@ -6,6 +6,7 @@ from typing import ( Dict, Any, + List, Union, Mapping, cast, @@ -57,7 +58,7 @@ def __init__( debug: Optional[bool] = False, cache_force_refresh: Optional[bool] = False, custom_host: Optional[str] = None, - forward_headers: Optional[str] = None, + forward_headers: Optional[List[str]] = None, openai_project: Optional[str] = None, openai_organization: Optional[str] = None, aws_secret_access_key: Optional[str] = None, @@ -454,7 +455,7 @@ def __init__( debug: Optional[bool] = False, cache_force_refresh: Optional[bool] = False, custom_host: Optional[str] = None, - forward_headers: Optional[str] = None, + forward_headers: Optional[List[str]] = None, openai_project: Optional[str] = None, openai_organization: Optional[str] = None, aws_secret_access_key: Optional[str] = None, diff --git a/portkey_ai/api_resources/client.py b/portkey_ai/api_resources/client.py index ad3f4a7..678f574 100644 --- a/portkey_ai/api_resources/client.py +++ b/portkey_ai/api_resources/client.py @@ -1,6 +1,6 @@ from __future__ import annotations -from typing import Mapping, Optional, Union +from typing import List, Mapping, Optional, Union from portkey_ai.api_resources import apis from portkey_ai.api_resources.base_client import APIClient, AsyncAPIClient @@ -41,7 +41,7 @@ def __init__( debug: Optional[bool] = False, cache_force_refresh: Optional[bool] = False, custom_host: Optional[str] = None, - forward_headers: Optional[str] = None, + forward_headers: Optional[List[str]] = None, openai_project: Optional[str] = None, openai_organization: Optional[str] = None, aws_secret_access_key: Optional[str] = None, @@ -113,7 +113,7 @@ def copy( debug: Optional[bool] = False, cache_force_refresh: Optional[bool] = False, custom_host: Optional[str] = None, - forward_headers: Optional[str] = None, + forward_headers: Optional[List[str]] = None, openai_project: Optional[str] = None, openai_organization: Optional[str] = None, aws_secret_access_key: Optional[str] = None, @@ -193,7 +193,7 @@ def __init__( debug: Optional[bool] = False, cache_force_refresh: Optional[bool] = False, custom_host: Optional[str] = None, - forward_headers: Optional[str] = None, + forward_headers: Optional[List[str]] = None, openai_project: Optional[str] = None, openai_organization: Optional[str] = None, aws_secret_access_key: Optional[str] = None, @@ -265,7 +265,7 @@ def copy( debug: Optional[bool] = False, cache_force_refresh: Optional[bool] = False, custom_host: Optional[str] = None, - forward_headers: Optional[str] = None, + forward_headers: Optional[List[str]] = None, openai_project: Optional[str] = None, openai_organization: Optional[str] = None, aws_secret_access_key: Optional[str] = None,