From ed109d7ec8c525cb65491d913f60cca3078a4f60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20=C3=85strand=20=28astrand=29?= Date: Wed, 20 Mar 2013 15:09:58 +0100 Subject: [PATCH] Fix Python3 compatibility when using --libserver. --- websockify/websocketproxy.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/websockify/websocketproxy.py b/websockify/websocketproxy.py index e59f084..e2110d7 100755 --- a/websockify/websocketproxy.py +++ b/websockify/websocketproxy.py @@ -12,7 +12,10 @@ as taken from http://docs.python.org/dev/library/ssl.html#certificates ''' import signal, socket, optparse, time, os, sys, subprocess -import SocketServer, BaseHTTPServer +try: from socketserver import ForkingMixIn +except: from SocketServer import ForkingMixIn +try: from http.server import HTTPServer +except: from BaseHTTPServer import HTTPServer from select import select import websocket try: @@ -396,7 +399,7 @@ def websockify_init(): server.start_server() -class LibProxyServer(SocketServer.ForkingMixIn, BaseHTTPServer.HTTPServer): +class LibProxyServer(ForkingMixIn, HTTPServer): """ Just like WebSocketProxy, but uses standard Python SocketServer framework. @@ -434,14 +437,14 @@ class LibProxyServer(SocketServer.ForkingMixIn, BaseHTTPServer.HTTPServer): if web: os.chdir(web) - BaseHTTPServer.HTTPServer.__init__(self, (listen_host, listen_port), - RequestHandlerClass) + HTTPServer.__init__(self, (listen_host, listen_port), + RequestHandlerClass) def process_request(self, request, client_address): """Override process_request to implement a counter""" self.handler_id += 1 - SocketServer.ForkingMixIn.process_request(self, request, client_address) + ForkingMixIn.process_request(self, request, client_address) if __name__ == '__main__':