Skip to content

Commit 94878a6

Browse files
authored
Merge pull request #126 from swlodarski-sumoheavy/6.1.x
SP-1029 - Add X-BitPay-Platform-Info header
2 parents ef16e8a + 088afef commit 94878a6

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

src/bitpay/client.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,13 @@ def __init__(
6161
)
6262

6363
@staticmethod
64-
def create_pos_client(pos_token: str, environment: Environment = Environment.PROD): # type: ignore
64+
def create_pos_client(pos_token: str, environment: Environment = Environment.PROD, platform_info: Optional[str] = None): # type: ignore
6565
token_container = TokenContainer()
6666
token_container.add_pos(pos_token)
6767

68-
bitpay_client = BitPayClient(Client.get_base_url(environment))
68+
bitpay_client = BitPayClient(
69+
Client.get_base_url(environment), None, platform_info
70+
)
6971

7072
return Client(bitpay_client, token_container, GuidGenerator())
7173

@@ -75,14 +77,15 @@ def create_client( # type: ignore
7577
token_container: TokenContainer,
7678
environment: Environment = Environment.PROD,
7779
proxy: Optional[str] = None,
80+
platform_info: Optional[str] = None,
7881
):
7982
"""
8083
:raises BitPayGenericException
8184
"""
8285
try:
8386
base_url = Client.get_base_url(environment)
8487
ec_key = Client.get_ec_key(private_key_or_private_key_path)
85-
bitpay_client = BitPayClient(base_url, ec_key, proxy)
88+
bitpay_client = BitPayClient(base_url, ec_key, proxy, platform_info)
8689
guid_generator = GuidGenerator()
8790

8891
return Client(bitpay_client, token_container, guid_generator)
@@ -92,7 +95,7 @@ def create_client( # type: ignore
9295
)
9396

9497
@staticmethod
95-
def create_client_by_config_file_path(config_file_path: str): # type: ignore
98+
def create_client_by_config_file_path(config_file_path: str, platform_info: Optional[str] = None): # type: ignore
9699
"""
97100
:raises BitPayGenericException
98101
"""
@@ -125,7 +128,11 @@ def create_client_by_config_file_path(config_file_path: str): # type: ignore
125128
environment = Environment.PROD
126129

127130
return Client.create_client(
128-
private_key_or_private_key_path, token_container, environment, proxy
131+
private_key_or_private_key_path,
132+
token_container,
133+
environment,
134+
proxy,
135+
platform_info,
129136
)
130137
except Exception as exe:
131138
BitPayExceptionProvider.throw_generic_exception_with_message(

src/bitpay/clients/bitpay_client.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,19 @@ class BitPayClient:
1717
__base_url: str
1818
__ec_key: Optional[str] = None
1919
__proxy: Optional[str] = None
20+
__platform_info: Optional[str] = None
2021

2122
def __init__(
22-
self, base_url: str, ec_key: Optional[str] = None, proxy: Optional[str] = None
23+
self,
24+
base_url: str,
25+
ec_key: Optional[str] = None,
26+
proxy: Optional[str] = None,
27+
platform_info: Optional[str] = None,
2328
):
2429
self.__base_url = base_url
2530
self.__ec_key = ec_key
2631
self.__proxy = proxy
32+
self.__platform_info = platform_info
2733
self.init()
2834

2935
def init(self) -> None:
@@ -38,6 +44,9 @@ def init(self) -> None:
3844
if self.__proxy is not None:
3945
self.__headers["proxy"] = self.__proxy
4046

47+
if self.__platform_info is not None:
48+
self.__headers["x-bitpay-platform-info"] = self.__platform_info
49+
4150
def post(
4251
self, uri: str, form_data: Any = {}, signature_required: bool = True
4352
) -> Response:

0 commit comments

Comments
 (0)