| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- """
- _ssl_compat.py
- websocket - WebSocket client library for Python
- Copyright 2025 engn33r
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- """
- from typing import TYPE_CHECKING
- if TYPE_CHECKING:
- import ssl as _ssl_module
- from ssl import (
- SSLError as _SSLErrorType,
- SSLEOFError as _SSLEOFErrorType,
- SSLWantReadError as _SSLWantReadErrorType,
- SSLWantWriteError as _SSLWantWriteErrorType,
- )
- else:
- _ssl_module = None
- _SSLErrorType = None
- _SSLEOFErrorType = None
- _SSLWantReadErrorType = None
- _SSLWantWriteErrorType = None
- __all__ = [
- "HAVE_SSL",
- "ssl",
- "SSLError",
- "SSLEOFError",
- "SSLWantReadError",
- "SSLWantWriteError",
- ]
- try:
- import ssl
- from ssl import SSLError, SSLEOFError, SSLWantReadError, SSLWantWriteError # type: ignore[attr-defined]
- HAVE_SSL = True
- except ImportError:
- # dummy class of SSLError for environment without ssl support
- class SSLError(Exception): # type: ignore[no-redef]
- pass
- class SSLEOFError(Exception): # type: ignore[no-redef]
- pass
- class SSLWantReadError(Exception): # type: ignore[no-redef]
- pass
- class SSLWantWriteError(Exception): # type: ignore[no-redef]
- pass
- ssl = None # type: ignore[assignment,no-redef]
- HAVE_SSL = False
|