| 
2 | 2 | import uuid  | 
3 | 3 | from dataclasses import asdict, dataclass, field  | 
4 | 4 | from dataclasses import fields as get_fields  | 
5 |  | -from typing import Any, Optional, TypeVar, Union  | 
 | 5 | +from typing import Any, List, Mapping, Optional, Set, TypeVar, Union  | 
6 | 6 | 
 
  | 
7 | 7 | from tls_requests.models.encoders import StreamEncoder  | 
8 | 8 | from tls_requests.models.libraries import TLSLibrary  | 
@@ -178,7 +178,7 @@ class _BaseConfig:  | 
178 | 178 |     """Base configuration for TLSSession"""  | 
179 | 179 | 
 
  | 
180 | 180 |     @classmethod  | 
181 |  | -    def model_fields_set(cls) -> set[str]:  | 
 | 181 | +    def model_fields_set(cls) -> Set[str]:  | 
182 | 182 |         return {  | 
183 | 183 |             model_field.name  | 
184 | 184 |             for model_field in get_fields(cls)  | 
@@ -341,19 +341,19 @@ class CustomTLSClientConfig(_BaseConfig):  | 
341 | 341 | 
  | 
342 | 342 |     """  | 
343 | 343 | 
 
  | 
344 |  | -    alpnProtocols: list[str] = None  | 
345 |  | -    alpsProtocols: list[str] = None  | 
 | 344 | +    alpnProtocols: List[str] = None  | 
 | 345 | +    alpsProtocols: List[str] = None  | 
346 | 346 |     certCompressionAlgo: str = None  | 
347 | 347 |     connectionFlow: int = None  | 
348 |  | -    h2Settings: list[str] = None  | 
349 |  | -    h2SettingsOrder: list[str] = None  | 
350 |  | -    headerPriority: list[str] = None  | 
 | 348 | +    h2Settings: List[str] = None  | 
 | 349 | +    h2SettingsOrder: List[str] = None  | 
 | 350 | +    headerPriority: List[str] = None  | 
351 | 351 |     ja3String: str = None  | 
352 |  | -    keyShareCurves: list[str] = None  | 
353 |  | -    priorityFrames: list[str] = None  | 
354 |  | -    pseudoHeaderOrder: list[str] = None  | 
355 |  | -    supportedSignatureAlgorithms: list[str] = None  | 
356 |  | -    supportedVersions: list[str] = None  | 
 | 352 | +    keyShareCurves: List[str] = None  | 
 | 353 | +    priorityFrames: List[str] = None  | 
 | 354 | +    pseudoHeaderOrder: List[str] = None  | 
 | 355 | +    supportedSignatureAlgorithms: List[str] = None  | 
 | 356 | +    supportedVersions: List[str] = None  | 
357 | 357 | 
 
  | 
358 | 358 | 
 
  | 
359 | 359 | @dataclass  | 
@@ -424,19 +424,19 @@ class TLSConfig(_BaseConfig):  | 
424 | 424 |     """  | 
425 | 425 | 
 
  | 
426 | 426 |     catchPanics: bool = False  | 
427 |  | -    certificatePinningHosts: dict[str, str] = field(default_factory=dict)  | 
 | 427 | +    certificatePinningHosts: Mapping[str, str] = field(default_factory=dict)  | 
428 | 428 |     customTlsClient: Optional[CustomTLSClientConfig] = None  | 
429 | 429 |     followRedirects: bool = False  | 
430 | 430 |     forceHttp1: bool = False  | 
431 |  | -    headerOrder: list[str] = field(default_factory=list)  | 
432 |  | -    headers: dict[str, str] = field(default_factory=dict)  | 
 | 431 | +    headerOrder: List[str] = field(default_factory=list)  | 
 | 432 | +    headers: Mapping[str, str] = field(default_factory=dict)  | 
433 | 433 |     insecureSkipVerify: bool = False  | 
434 | 434 |     isByteRequest: bool = False  | 
435 | 435 |     isByteResponse: bool = True  | 
436 | 436 |     isRotatingProxy: bool = False  | 
437 | 437 |     proxyUrl: str = ""  | 
438 | 438 |     requestBody: Union[str, bytes, bytearray, None] = None  | 
439 |  | -    requestCookies: list[TLSRequestCookiesConfig] = field(default_factory=list)  | 
 | 439 | +    requestCookies: List[TLSRequestCookiesConfig] = field(default_factory=list)  | 
440 | 440 |     requestMethod: MethodTypes = None  | 
441 | 441 |     requestUrl: Optional[str] = None  | 
442 | 442 |     sessionId: str = field(default_factory=lambda: str(uuid.uuid4()))  | 
@@ -471,7 +471,7 @@ def to_dict(self) -> dict:  | 
471 | 471 |     def copy_with(  | 
472 | 472 |         self,  | 
473 | 473 |         session_id: str = None,  | 
474 |  | -        headers: dict[str, str] = None,  | 
 | 474 | +        headers: Mapping[str, str] = None,  | 
475 | 475 |         cookies: TLSCookiesTypes = None,  | 
476 | 476 |         method: MethodTypes = None,  | 
477 | 477 |         url: URLTypes = None,  | 
@@ -515,7 +515,7 @@ def copy_with(  | 
515 | 515 |     def from_kwargs(  | 
516 | 516 |         cls,  | 
517 | 517 |         session_id: str = None,  | 
518 |  | -        headers: dict[str, str] = None,  | 
 | 518 | +        headers: Mapping[str, str] = None,  | 
519 | 519 |         cookies: TLSCookiesTypes = None,  | 
520 | 520 |         method: MethodTypes = None,  | 
521 | 521 |         url: URLTypes = None,  | 
 | 
0 commit comments