diff options
Diffstat (limited to 'waitress/compat.py')
-rw-r--r-- | waitress/compat.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/waitress/compat.py b/waitress/compat.py index 7704764..700f7a1 100644 --- a/waitress/compat.py +++ b/waitress/compat.py @@ -1,6 +1,7 @@ import sys import types import platform +import warnings try: import urlparse @@ -120,16 +121,20 @@ except AttributeError: # pragma: no cover # Python on Windows may not define IPPROTO_IPV6 in socket. import socket +HAS_IPV6 = socket.has_ipv6 + if hasattr(socket, 'IPPROTO_IPV6') and hasattr(socket, 'IPV6_V6ONLY'): IPPROTO_IPV6 = socket.IPPROTO_IPV6 IPV6_V6ONLY = socket.IPV6_V6ONLY else: # pragma: no cover - import os - if os.name == 'nt': + if WIN: IPPROTO_IPV6 = 41 IPV6_V6ONLY = 27 else: - raise RuntimeError( + warnings.warn( 'OS does not support required IPv6 socket flags. This is requirement ' - 'for Waitress. Please open an issue at https://github.com/Pylons/waitress' + 'for Waitress. Please open an issue at https://github.com/Pylons/waitress. ' + 'IPv6 support has been disabled.', + RuntimeWarning ) + HAS_IPV6 = False |