|
4 | 4 | import time |
5 | 5 | import warnings |
6 | 6 | from itertools import chain |
7 | | -from typing import Any, Callable, Dict, List, Optional, Type, Union |
| 7 | +from typing import ( |
| 8 | + TYPE_CHECKING, |
| 9 | + Any, |
| 10 | + Callable, |
| 11 | + Dict, |
| 12 | + List, |
| 13 | + Mapping, |
| 14 | + Optional, |
| 15 | + Type, |
| 16 | + Union, |
| 17 | +) |
8 | 18 |
|
9 | 19 | from redis._parsers.encoders import Encoder |
10 | 20 | from redis._parsers.helpers import ( |
|
53 | 63 | str_if_bytes, |
54 | 64 | ) |
55 | 65 |
|
| 66 | +if TYPE_CHECKING: |
| 67 | + import ssl |
| 68 | + |
| 69 | + import OpenSSL |
| 70 | + |
56 | 71 | SYM_EMPTY = b"" |
57 | 72 | EMPTY_RESPONSE = "EMPTY_RESPONSE" |
58 | 73 |
|
@@ -175,47 +190,47 @@ def from_pool( |
175 | 190 |
|
176 | 191 | def __init__( |
177 | 192 | self, |
178 | | - host="localhost", |
179 | | - port=6379, |
180 | | - db=0, |
181 | | - password=None, |
182 | | - socket_timeout=None, |
183 | | - socket_connect_timeout=None, |
184 | | - socket_keepalive=None, |
185 | | - socket_keepalive_options=None, |
186 | | - connection_pool=None, |
187 | | - unix_socket_path=None, |
188 | | - encoding="utf-8", |
189 | | - encoding_errors="strict", |
190 | | - charset=None, |
191 | | - errors=None, |
192 | | - decode_responses=False, |
193 | | - retry_on_timeout=False, |
194 | | - retry_on_error=None, |
195 | | - ssl=False, |
196 | | - ssl_keyfile=None, |
197 | | - ssl_certfile=None, |
198 | | - ssl_cert_reqs="required", |
199 | | - ssl_ca_certs=None, |
200 | | - ssl_ca_path=None, |
201 | | - ssl_ca_data=None, |
202 | | - ssl_check_hostname=False, |
203 | | - ssl_password=None, |
204 | | - ssl_validate_ocsp=False, |
205 | | - ssl_validate_ocsp_stapled=False, |
206 | | - ssl_ocsp_context=None, |
207 | | - ssl_ocsp_expected_cert=None, |
208 | | - ssl_min_version=None, |
209 | | - ssl_ciphers=None, |
210 | | - max_connections=None, |
211 | | - single_connection_client=False, |
212 | | - health_check_interval=0, |
213 | | - client_name=None, |
214 | | - lib_name="redis-py", |
215 | | - lib_version=get_lib_version(), |
216 | | - username=None, |
217 | | - retry=None, |
218 | | - redis_connect_func=None, |
| 193 | + host: str = "localhost", |
| 194 | + port: int = 6379, |
| 195 | + db: int = 0, |
| 196 | + password: Optional[str] = None, |
| 197 | + socket_timeout: Optional[float] = None, |
| 198 | + socket_connect_timeout: Optional[float] = None, |
| 199 | + socket_keepalive: Optional[bool] = None, |
| 200 | + socket_keepalive_options: Optional[Mapping[int, Union[int, bytes]]] = None, |
| 201 | + connection_pool: Optional[ConnectionPool] = None, |
| 202 | + unix_socket_path: Optional[str] = None, |
| 203 | + encoding: str = "utf-8", |
| 204 | + encoding_errors: str = "strict", |
| 205 | + charset: Optional[str] = None, |
| 206 | + errors: Optional[str] = None, |
| 207 | + decode_responses: bool = False, |
| 208 | + retry_on_timeout: bool = False, |
| 209 | + retry_on_error: Optional[List[Type[Exception]]] = None, |
| 210 | + ssl: bool = False, |
| 211 | + ssl_keyfile: Optional[str] = None, |
| 212 | + ssl_certfile: Optional[str] = None, |
| 213 | + ssl_cert_reqs: str = "required", |
| 214 | + ssl_ca_certs: Optional[str] = None, |
| 215 | + ssl_ca_path: Optional[str] = None, |
| 216 | + ssl_ca_data: Optional[str] = None, |
| 217 | + ssl_check_hostname: bool = False, |
| 218 | + ssl_password: Optional[str] = None, |
| 219 | + ssl_validate_ocsp: bool = False, |
| 220 | + ssl_validate_ocsp_stapled: bool = False, |
| 221 | + ssl_ocsp_context: Optional["OpenSSL.SSL.Context"] = None, |
| 222 | + ssl_ocsp_expected_cert: Optional[str] = None, |
| 223 | + ssl_min_version: Optional["ssl.TLSVersion"] = None, |
| 224 | + ssl_ciphers: Optional[str] = None, |
| 225 | + max_connections: Optional[int] = None, |
| 226 | + single_connection_client: bool = False, |
| 227 | + health_check_interval: int = 0, |
| 228 | + client_name: Optional[str] = None, |
| 229 | + lib_name: Optional[str] = "redis-py", |
| 230 | + lib_version: Optional[str] = get_lib_version(), |
| 231 | + username: Optional[str] = None, |
| 232 | + retry: Optional[Retry] = None, |
| 233 | + redis_connect_func: Optional[Callable[[], None]] = None, |
219 | 234 | credential_provider: Optional[CredentialProvider] = None, |
220 | 235 | protocol: Optional[int] = 2, |
221 | 236 | cache: Optional[CacheInterface] = None, |
|
0 commit comments