From 9e2d8b3ca47141ad19d35550833aa8c1b2cebb0e Mon Sep 17 00:00:00 2001 From: Youhei Sakurai Date: Mon, 21 Jan 2019 15:33:44 +0900 Subject: [PATCH] Very first step for Windows support --- websockify/websocketproxy.py | 10 ++++++++-- websockify/websockifyserver.py | 4 +++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/websockify/websocketproxy.py b/websockify/websocketproxy.py index 16b00d8..94f9aee 100644 --- a/websockify/websocketproxy.py +++ b/websockify/websocketproxy.py @@ -13,9 +13,15 @@ as taken from http://docs.python.org/dev/library/ssl.html#certificates import signal, socket, optparse, time, os, sys, subprocess, logging, errno, ssl try: - from socketserver import ForkingMixIn + try: + from socketserver import ForkingMixIn + except ImportError: + from socketserver import ThreadingMixIn as ForkingMixIn except ImportError: - from SocketServer import ForkingMixIn + try: + from SocketServer import ForkingMixIn + except ImportError: + from SocketServer import ThreadingMixIn as ForkingMixIn try: from http.server import HTTPServer diff --git a/websockify/websockifyserver.py b/websockify/websockifyserver.py index fe01f97..8956660 100644 --- a/websockify/websockifyserver.py +++ b/websockify/websockifyserver.py @@ -14,6 +14,7 @@ as taken from http://docs.python.org/dev/library/ssl.html#certificates import os, sys, time, errno, signal, socket, select, logging import multiprocessing +import warnings # Imports that vary by python version @@ -42,7 +43,8 @@ if sys.platform == 'win32': import multiprocessing.reduction # the multiprocesssing module behaves much differently on Windows, # and we have yet to fix all the bugs - sys.exit("Windows is not supported at this time") + warnings.warn("Windows is not fully supported at this time", + category=RuntimeWarning) from websockify.websocket import WebSocket, WebSocketWantReadError, WebSocketWantWriteError from websockify.websocketserver import WebSocketRequestHandlerMixIn