File tree Expand file tree Collapse file tree 3 files changed +14
-3
lines changed
Expand file tree Collapse file tree 3 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -492,7 +492,14 @@ def _init_local_cert_cache(self):
492492 self ._cert_expiration_seconds = 14 * 24 * 60 * 60 # 14 days
493493
494494 if not os .path .exists (self ._cert_storage_path ):
495- os .makedirs (self ._cert_storage_path )
495+ try :
496+ os .makedirs (self ._cert_storage_path )
497+ except FileExistsError :
498+ pass
499+ except Exception as e :
500+ raise ArkAPIError (
501+ "failed to create certificate directory %s: %s\n " % (self ._cert_storage_path , e )
502+ )
496503
497504 def get (self , ep : str ) -> key_agreement_client :
498505 if ep not in self ._certificate_manager :
Original file line number Diff line number Diff line change 1212
1313from ..._exceptions import ArkAPITimeoutError , ArkAPIConnectionError , ArkAPIStatusError
1414from ..._types import Body , Query , Headers
15- from ..._utils ._utils import with_sts_token , async_with_sts_token
15+ from ..._utils ._utils import with_sts_token , async_with_sts_token , deepcopy_minimal
1616from ..._utils ._key_agreement import aes_gcm_decrypt_base64_string
1717from ..._base_client import make_request_options
1818from ..._resource import SyncAPIResource , AsyncAPIResource
@@ -202,6 +202,7 @@ def create(
202202 and extra_headers .get (ARK_E2E_ENCRYPTION_HEADER , None ) == "true"
203203 ):
204204 is_encrypt = True
205+ messages = deepcopy_minimal (messages )
205206 e2e_key , e2e_nonce = self ._encrypt (model , messages , extra_headers )
206207 retryTimes = 0
207208 last_time = self ._get_request_last_time (timeout )
@@ -353,6 +354,7 @@ async def create(
353354 and extra_headers .get (ARK_E2E_ENCRYPTION_HEADER , None ) == "true"
354355 ):
355356 is_encrypt = True
357+ messages = deepcopy_minimal (messages )
356358 e2e_key , e2e_nonce = self ._encrypt (model , messages , extra_headers )
357359
358360 retryTimes = 0
Original file line number Diff line number Diff line change 1616from typing_extensions import Literal
1717
1818from ..._types import Body , Query , Headers
19- from ..._utils ._utils import with_sts_token , async_with_sts_token
19+ from ..._utils ._utils import deepcopy_minimal , with_sts_token , async_with_sts_token
2020from ..._utils ._key_agreement import aes_gcm_decrypt_base64_string
2121from ..._base_client import make_request_options
2222from ..._resource import SyncAPIResource , AsyncAPIResource
@@ -179,6 +179,7 @@ def create(
179179 and extra_headers .get (ARK_E2E_ENCRYPTION_HEADER , None ) == "true"
180180 ):
181181 is_encrypt = True
182+ messages = deepcopy_minimal (messages )
182183 e2e_key , e2e_nonce = self ._encrypt (model , messages , extra_headers )
183184
184185 resp = self ._post (
@@ -327,6 +328,7 @@ async def create(
327328 and extra_headers .get (ARK_E2E_ENCRYPTION_HEADER , None ) == "true"
328329 ):
329330 is_encrypt = True
331+ messages = deepcopy_minimal (messages )
330332 e2e_key , e2e_nonce = self ._encrypt (model , messages , extra_headers )
331333
332334 resp = await self ._post (
You can’t perform that action at this time.
0 commit comments