|
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 Any, Callable, Dict, List, Optional, Type, Union, Mapping, TYPE_CHECKING |
8 | 8 |
|
9 | 9 | from redis._cache import (
|
10 | 10 | DEFAULT_ALLOW_LIST,
|
|
51 | 51 | str_if_bytes,
|
52 | 52 | )
|
53 | 53 |
|
| 54 | +if TYPE_CHECKING: |
| 55 | + import OpenSSL |
| 56 | + import ssl |
| 57 | + |
54 | 58 | SYM_EMPTY = b""
|
55 | 59 | EMPTY_RESPONSE = "EMPTY_RESPONSE"
|
56 | 60 |
|
@@ -173,47 +177,47 @@ def from_pool(
|
173 | 177 |
|
174 | 178 | def __init__(
|
175 | 179 | self,
|
176 |
| - host="localhost", |
177 |
| - port=6379, |
178 |
| - db=0, |
179 |
| - password=None, |
180 |
| - socket_timeout=None, |
181 |
| - socket_connect_timeout=None, |
182 |
| - socket_keepalive=None, |
183 |
| - socket_keepalive_options=None, |
184 |
| - connection_pool=None, |
185 |
| - unix_socket_path=None, |
186 |
| - encoding="utf-8", |
187 |
| - encoding_errors="strict", |
188 |
| - charset=None, |
189 |
| - errors=None, |
190 |
| - decode_responses=False, |
191 |
| - retry_on_timeout=False, |
192 |
| - retry_on_error=None, |
193 |
| - ssl=False, |
194 |
| - ssl_keyfile=None, |
195 |
| - ssl_certfile=None, |
196 |
| - ssl_cert_reqs="required", |
197 |
| - ssl_ca_certs=None, |
198 |
| - ssl_ca_path=None, |
199 |
| - ssl_ca_data=None, |
200 |
| - ssl_check_hostname=False, |
201 |
| - ssl_password=None, |
202 |
| - ssl_validate_ocsp=False, |
203 |
| - ssl_validate_ocsp_stapled=False, |
204 |
| - ssl_ocsp_context=None, |
205 |
| - ssl_ocsp_expected_cert=None, |
206 |
| - ssl_min_version=None, |
207 |
| - ssl_ciphers=None, |
208 |
| - max_connections=None, |
209 |
| - single_connection_client=False, |
210 |
| - health_check_interval=0, |
211 |
| - client_name=None, |
212 |
| - lib_name="redis-py", |
213 |
| - lib_version=get_lib_version(), |
214 |
| - username=None, |
215 |
| - retry=None, |
216 |
| - redis_connect_func=None, |
| 180 | + host: str = "localhost", |
| 181 | + port: int = 6379, |
| 182 | + db: int = 0, |
| 183 | + password: Optional[str] = None, |
| 184 | + socket_timeout: Optional[float] = None, |
| 185 | + socket_connect_timeout: Optional[float] = None, |
| 186 | + socket_keepalive: Optional[bool] = None, |
| 187 | + socket_keepalive_options: Optional[Mapping[int, Union[int, bytes]]] = None, |
| 188 | + connection_pool: Optional[ConnectionPool] = None, |
| 189 | + unix_socket_path: Optional[str] = None, |
| 190 | + encoding: str = "utf-8", |
| 191 | + encoding_errors: str = "strict", |
| 192 | + charset: Optional[str] = None, |
| 193 | + errors: Optional[str] = None, |
| 194 | + decode_responses: bool = False, |
| 195 | + retry_on_timeout: bool = False, |
| 196 | + retry_on_error: Optional[list] = None, |
| 197 | + ssl: bool = False, |
| 198 | + ssl_keyfile: Optional[str] = None, |
| 199 | + ssl_certfile: Optional[str] = None, |
| 200 | + ssl_cert_reqs: str = "required", |
| 201 | + ssl_ca_certs: Optional[str] = None, |
| 202 | + ssl_ca_path: Optional[str] = None, |
| 203 | + ssl_ca_data: Optional[str] = None, |
| 204 | + ssl_check_hostname: bool = False, |
| 205 | + ssl_password: Optional[str] = None, |
| 206 | + ssl_validate_ocsp: bool = False, |
| 207 | + ssl_validate_ocsp_stapled: bool = False, |
| 208 | + ssl_ocsp_context: Optional[OpenSSL.SSL.Context] = None, |
| 209 | + ssl_ocsp_expected_cert: Optional[str] = None, |
| 210 | + ssl_min_version: Optional[ssl.TLSVersion] = None, |
| 211 | + ssl_ciphers: Optional[str] = None, |
| 212 | + max_connections: Optional[int] = None, |
| 213 | + single_connection_client: bool = False, |
| 214 | + health_check_interval: int = 0, |
| 215 | + client_name: Optional[str] = None, |
| 216 | + lib_name: Optional[str] = "redis-py", |
| 217 | + lib_version: Optional[str] = get_lib_version(), |
| 218 | + username: Optional[str] = None, |
| 219 | + retry: Union[Any, None] = None, |
| 220 | + redis_connect_func: Optional[Callable[[], None]] = None, |
217 | 221 | credential_provider: Optional[CredentialProvider] = None,
|
218 | 222 | protocol: Optional[int] = 2,
|
219 | 223 | cache_enabled: bool = False,
|
|
0 commit comments