Update web-platform-tests to revision 4333a1d2f109795547fc5e22ebfc8481fa649de7

This commit is contained in:
WPT Sync Bot 2018-06-22 21:05:34 -04:00
parent 728ebcc932
commit 8c46b67f8e
456 changed files with 10561 additions and 5108 deletions

View file

@ -118,7 +118,7 @@ class StreamBase(object):
'Receiving %d byte failed. Peer (%r) closed connection' %
(length, (self._request.connection.remote_addr,)))
return read_bytes
except socket.error, e:
except socket.error as e:
# Catch a socket.error. Because it's not a child class of the
# IOError prior to Python 2.6, we cannot omit this except clause.
# Use %s rather than %r for the exception to use human friendly
@ -126,7 +126,7 @@ class StreamBase(object):
raise ConnectionTerminatedException(
'Receiving %d byte failed. socket.error (%s) occurred' %
(length, e))
except IOError, e:
except IOError as e:
# Also catch an IOError because mod_python throws it.
raise ConnectionTerminatedException(
'Receiving %d byte failed. IOError (%s) occurred' %
@ -139,7 +139,7 @@ class StreamBase(object):
try:
self._request.connection.write(bytes_to_write)
except Exception, e:
except Exception as e:
util.prepend_message_to_exception(
'Failed to send message to %r: ' %
(self._request.connection.remote_addr,),

View file

@ -538,7 +538,7 @@ class Stream(StreamBase):
# at least one frame is sent.
if len(message) <= bytes_written:
break
except ValueError, e:
except ValueError as e:
raise BadOperationException(e)
def _get_message_from_frame(self, frame):
@ -677,7 +677,7 @@ class Stream(StreamBase):
if handler:
handler(self._request, message)
return
except AttributeError, e:
except AttributeError as e:
pass
self._send_pong(message)
@ -704,7 +704,7 @@ class Stream(StreamBase):
break
else:
inflight_pings.append(expected_body)
except IndexError, e:
except IndexError as e:
# The received pong was unsolicited pong. Keep the
# ping queue as is.
self._ping_queue = inflight_pings
@ -715,7 +715,7 @@ class Stream(StreamBase):
handler = self._request.on_pong_handler
if handler:
handler(self._request, message)
except AttributeError, e:
except AttributeError as e:
pass
def receive_message(self):
@ -780,7 +780,7 @@ class Stream(StreamBase):
# CHARACTER.
try:
return message.decode('utf-8')
except UnicodeDecodeError, e:
except UnicodeDecodeError as e:
raise InvalidUTF8Exception(e)
elif self._original_opcode == common.OPCODE_BINARY:
return message

View file

@ -241,7 +241,7 @@ def _parse_extension(state):
try:
_parse_extension_param(state, extension)
except ExtensionParsingException, e:
except ExtensionParsingException as e:
raise ExtensionParsingException(
'Failed to parse parameter for %r (%r)' %
(extension_token, e))

View file

@ -143,7 +143,7 @@ def _source_handler_file(handler_definition):
global_dic = {}
try:
exec handler_definition in global_dic
exec(handler_definition, global_dic)
except Exception:
raise DispatchException('Error in sourcing handler:' +
util.get_stack_trace())
@ -254,12 +254,12 @@ class Dispatcher(object):
do_extra_handshake_ = handler_suite.do_extra_handshake
try:
do_extra_handshake_(request)
except handshake.AbortedByUserException, e:
except handshake.AbortedByUserException as e:
# Re-raise to tell the caller of this function to finish this
# connection without sending any error.
self._logger.debug('%s', util.get_stack_trace())
raise
except Exception, e:
except Exception as e:
util.prepend_message_to_exception(
'%s raised exception for %s: ' % (
_DO_EXTRA_HANDSHAKE_HANDLER_NAME,
@ -296,28 +296,28 @@ class Dispatcher(object):
if not request.server_terminated:
request.ws_stream.close_connection()
# Catch non-critical exceptions the handler didn't handle.
except handshake.AbortedByUserException, e:
except handshake.AbortedByUserException as e:
self._logger.debug('%s', util.get_stack_trace())
raise
except msgutil.BadOperationException, e:
except msgutil.BadOperationException as e:
self._logger.debug('%s', e)
request.ws_stream.close_connection(
common.STATUS_INTERNAL_ENDPOINT_ERROR)
except msgutil.InvalidFrameException, e:
except msgutil.InvalidFrameException as e:
# InvalidFrameException must be caught before
# ConnectionTerminatedException that catches InvalidFrameException.
self._logger.debug('%s', e)
request.ws_stream.close_connection(common.STATUS_PROTOCOL_ERROR)
except msgutil.UnsupportedFrameException, e:
except msgutil.UnsupportedFrameException as e:
self._logger.debug('%s', e)
request.ws_stream.close_connection(common.STATUS_UNSUPPORTED_DATA)
except stream.InvalidUTF8Exception, e:
except stream.InvalidUTF8Exception as e:
self._logger.debug('%s', e)
request.ws_stream.close_connection(
common.STATUS_INVALID_FRAME_PAYLOAD_DATA)
except msgutil.ConnectionTerminatedException, e:
except msgutil.ConnectionTerminatedException as e:
self._logger.debug('%s', e)
except Exception, e:
except Exception as e:
# Any other exceptions are forwarded to the caller of this
# function.
util.prepend_message_to_exception(
@ -379,7 +379,7 @@ class Dispatcher(object):
continue
try:
handler_suite = _source_handler_file(open(path).read())
except DispatchException, e:
except DispatchException as e:
self._source_warnings.append('%s: %s' % (path, e))
continue
resource = convert(path)

View file

@ -185,7 +185,7 @@ class DeflateFrameExtensionProcessor(ExtensionProcessorInterface):
self._WINDOW_BITS_PARAM)
try:
window_bits = _parse_window_bits(window_bits)
except ValueError, e:
except ValueError as e:
return None
no_context_takeover = self._request.has_parameter(
@ -368,7 +368,7 @@ class PerMessageDeflateExtensionProcessor(ExtensionProcessorInterface):
try:
server_max_window_bits = _parse_window_bits(
server_max_window_bits)
except ValueError, e:
except ValueError as e:
self._logger.debug('Bad %s parameter: %r',
self._SERVER_MAX_WINDOW_BITS_PARAM,
e)
@ -703,7 +703,7 @@ class MuxExtensionProcessor(ExtensionProcessorInterface):
if quota is not None:
try:
quota = int(quota)
except ValueError, e:
except ValueError as e:
return None
if quota < 0 or quota >= 2 ** 32:
return None

View file

@ -90,15 +90,15 @@ def do_handshake(request, dispatcher, allowDraft75=False, strict=False):
handshaker.do_handshake()
_LOGGER.info('Established (%s protocol)', name)
return
except HandshakeException, e:
except HandshakeException as e:
_LOGGER.debug(
'Failed to complete opening handshake as %s protocol: %r',
name, e)
if e.status:
raise e
except AbortedByUserException, e:
except AbortedByUserException as e:
raise
except VersionException, e:
except VersionException as e:
raise
# TODO(toyoshim): Add a test to cover the case all handshakers fail.

View file

@ -111,7 +111,7 @@ def parse_host_header(request):
return fields[0], get_default_port(request.is_https())
try:
return fields[0], int(fields[1])
except ValueError, e:
except ValueError as e:
raise HandshakeException('Invalid port number format: %r' % e)

View file

@ -112,7 +112,7 @@ class Handshaker(object):
try:
connection_tokens = parse_token_list(connection)
except HandshakeException, e:
except HandshakeException as e:
raise HandshakeException(
'Failed to parse %s: %s' % (common.CONNECTION_HEADER, e))
@ -273,7 +273,7 @@ class Handshaker(object):
'request any subprotocol')
self._send_handshake(accept)
except HandshakeException, e:
except HandshakeException as e:
if not e.status:
# Fallback to 400 bad request by default.
e.status = common.HTTP_STATUS_BAD_REQUEST
@ -327,7 +327,7 @@ class Handshaker(object):
try:
self._request.ws_requested_extensions = common.parse_extensions(
extensions_header)
except common.ExtensionParsingException, e:
except common.ExtensionParsingException as e:
raise HandshakeException(
'Failed to parse Sec-WebSocket-Extensions header: %r' % e)
@ -353,7 +353,7 @@ class Handshaker(object):
decoded_key = base64.b64decode(key)
if len(decoded_key) == 16:
key_is_valid = True
except TypeError, e:
except TypeError as e:
pass
if not key_is_valid:

View file

@ -33,7 +33,7 @@ in HTTP RFC http://www.ietf.org/rfc/rfc2616.txt.
"""
import urlparse
from six.moves import urllib
_SEPARATORS = '()<>@,;:\\"/[]?={} \t'
@ -218,7 +218,7 @@ def quote_if_necessary(s):
def parse_uri(uri):
"""Parse absolute URI then return host, port and resource."""
parsed = urlparse.urlsplit(uri)
parsed = urllib.parse.urlsplit(uri)
if parsed.scheme != 'wss' and parsed.scheme != 'ws':
# |uri| must be a relative URI.
# TODO(toyoshim): Should validate |uri|.
@ -230,7 +230,7 @@ def parse_uri(uri):
port = None
try:
port = parsed.port
except ValueError, e:
except ValueError as e:
# port property cause ValueError on invalid null port description like
# 'ws://host:/path'.
return None, None, None
@ -253,11 +253,11 @@ def parse_uri(uri):
try:
urlparse.uses_netloc.index('ws')
except ValueError, e:
urllib.parse.uses_netloc.index('ws')
except ValueError as e:
# urlparse in Python2.5.1 doesn't have 'ws' and 'wss' entries.
urlparse.uses_netloc.append('ws')
urlparse.uses_netloc.append('wss')
urllib.parse.uses_netloc.append('ws')
urllib.parse.uses_netloc.append('wss')
# vi:sts=4 sw=4 et

View file

@ -36,9 +36,6 @@ A memorizing file wraps a file and memorizes lines read by readline.
"""
import sys
class MemorizingFile(object):
"""MemorizingFile wraps a file and memorizes lines read by readline.
@ -48,7 +45,7 @@ class MemorizingFile(object):
the control reaches WebSocketRequestHandler.
"""
def __init__(self, file_, max_memorized_lines=sys.maxint):
def __init__(self, file_, max_memorized_lines=0x7FFFFFFF):
"""Construct an instance.
Args:

View file

@ -38,7 +38,7 @@ bytes writing/reading.
"""
import Queue
from six.moves import queue
import threading
@ -124,7 +124,7 @@ class MessageReceiver(threading.Thread):
threading.Thread.__init__(self)
self._request = request
self._queue = Queue.Queue()
self._queue = queue.Queue()
self._onmessage = onmessage
self._stop_requested = False
self.setDaemon(True)
@ -157,7 +157,7 @@ class MessageReceiver(threading.Thread):
"""
try:
message = self._queue.get_nowait()
except Queue.Empty:
except queue.Empty:
message = None
return message
@ -190,7 +190,7 @@ class MessageSender(threading.Thread):
"""
threading.Thread.__init__(self)
self._request = request
self._queue = Queue.Queue()
self._queue = queue.Queue()
self.setDaemon(True)
self.start()

View file

@ -364,7 +364,7 @@ class _MuxFramePayloadParser(object):
"""
try:
size = self._read_number()
except ValueError, e:
except ValueError as e:
raise PhysicalConnectionError(_DROP_CODE_INVALID_MUX_CONTROL_BLOCK,
str(e))
pos = self._read_position
@ -387,7 +387,7 @@ class _MuxFramePayloadParser(object):
encoding = first_byte & 0x3
try:
control_block.channel_id = self.read_channel_id()
except ValueError, e:
except ValueError as e:
raise PhysicalConnectionError(_DROP_CODE_INVALID_MUX_CONTROL_BLOCK)
control_block.encoding = encoding
encoded_handshake = self._read_size_and_contents()
@ -405,7 +405,7 @@ class _MuxFramePayloadParser(object):
control_block.encoding = first_byte & 0x3
try:
control_block.channel_id = self.read_channel_id()
except ValueError, e:
except ValueError as e:
raise PhysicalConnectionError(_DROP_CODE_INVALID_MUX_CONTROL_BLOCK)
control_block.encoded_handshake = self._read_size_and_contents()
return control_block
@ -420,7 +420,7 @@ class _MuxFramePayloadParser(object):
try:
control_block.channel_id = self.read_channel_id()
control_block.send_quota = self._read_number()
except ValueError, e:
except ValueError as e:
raise PhysicalConnectionError(_DROP_CODE_INVALID_MUX_CONTROL_BLOCK,
str(e))
@ -435,7 +435,7 @@ class _MuxFramePayloadParser(object):
try:
control_block.channel_id = self.read_channel_id()
except ValueError, e:
except ValueError as e:
raise PhysicalConnectionError(_DROP_CODE_INVALID_MUX_CONTROL_BLOCK)
reason = self._read_size_and_contents()
if len(reason) == 0:
@ -460,7 +460,7 @@ class _MuxFramePayloadParser(object):
try:
control_block.slots = self._read_number()
control_block.send_quota = self._read_number()
except ValueError, e:
except ValueError as e:
raise PhysicalConnectionError(_DROP_CODE_INVALID_MUX_CONTROL_BLOCK,
str(e))
return control_block
@ -931,7 +931,7 @@ class _LogicalStream(Stream):
opcode = common.OPCODE_CONTINUATION
except ValueError, e:
except ValueError as e:
raise BadOperationException(e)
finally:
self._write_inner_frame_semaphore.release()
@ -1032,7 +1032,7 @@ class _LogicalStream(Stream):
# connection has closed gracefully.
try:
return Stream.receive_message(self)
except LogicalConnectionClosedException, e:
except LogicalConnectionClosedException as e:
self._logger.debug('%s', e)
return None
@ -1143,7 +1143,7 @@ class _PhysicalConnectionWriter(threading.Thread):
try:
self._mux_handler.physical_stream.send_message(
message=message, end=True, binary=True)
except Exception, e:
except Exception as e:
util.prepend_message_to_exception(
'Failed to send message to %r: ' %
(self._mux_handler.physical_connection.remote_addr,), e)
@ -1184,7 +1184,7 @@ class _PhysicalConnectionWriter(threading.Thread):
# by the reader thread.
self._mux_handler.physical_stream.close_connection(
self._close_code, wait_response=False)
except Exception, e:
except Exception as e:
util.prepend_message_to_exception(
'Failed to close the physical connection: %r' % e)
raise
@ -1231,20 +1231,20 @@ class _PhysicalConnectionReader(threading.Thread):
'Received a text message on physical connection')
break
except ConnectionTerminatedException, e:
except ConnectionTerminatedException as e:
self._logger.debug('%s', e)
break
try:
self._mux_handler.dispatch_message(message)
except PhysicalConnectionError, e:
except PhysicalConnectionError as e:
self._mux_handler.fail_physical_connection(
e.drop_code, e.message)
break
except LogicalChannelError, e:
except LogicalChannelError as e:
self._mux_handler.fail_logical_channel(
e.channel_id, e.drop_code, e.message)
except Exception, e:
except Exception as e:
self._logger.debug(traceback.format_exc())
break
@ -1276,7 +1276,7 @@ class _Worker(threading.Thread):
try:
# Non-critical exceptions will be handled by dispatcher.
self._mux_handler.dispatcher.transfer_data(self._request)
except LogicalChannelError, e:
except LogicalChannelError as e:
self._mux_handler.fail_logical_channel(
e.channel_id, e.drop_code, e.message)
finally:
@ -1617,19 +1617,19 @@ class _MuxHandler(object):
send_quota, receive_quota)
try:
handshaker.do_handshake()
except handshake.VersionException, e:
except handshake.VersionException as e:
self._logger.info('%s', e)
self._send_error_add_channel_response(
request.channel_id, status=common.HTTP_STATUS_BAD_REQUEST)
return False
except handshake.HandshakeException, e:
except handshake.HandshakeException as e:
# TODO(bashi): Should we _Fail the Logical Channel_ with 3001
# instead?
self._logger.info('%s', e)
self._send_error_add_channel_response(request.channel_id,
status=e.status)
return False
except handshake.AbortedByUserException, e:
except handshake.AbortedByUserException as e:
self._logger.info('%s', e)
self._send_error_add_channel_response(request.channel_id)
return False
@ -1656,7 +1656,7 @@ class _MuxHandler(object):
def _process_add_channel_request(self, block):
try:
logical_request = self._create_logical_request(block)
except ValueError, e:
except ValueError as e:
self._logger.debug('Failed to create logical request: %r' % e)
self._send_error_add_channel_response(
block.channel_id, status=common.HTTP_STATUS_BAD_REQUEST)
@ -1763,7 +1763,7 @@ class _MuxHandler(object):
parser = _MuxFramePayloadParser(message)
try:
channel_id = parser.read_channel_id()
except ValueError, e:
except ValueError as e:
raise PhysicalConnectionError(_DROP_CODE_CHANNEL_ID_TRUNCATED)
if channel_id == _CONTROL_CHANNEL_ID:
self._process_control_blocks(parser)

View file

@ -143,7 +143,7 @@ configuration file.
THREADING
=========
This server is derived from SocketServer.ThreadingMixIn. Hence a thread is
This server is derived from socketserver.ThreadingMixIn. Hence a thread is
used for each request.
@ -155,13 +155,13 @@ It may execute arbitrary Python code or external programs. It should not be
used outside a firewall.
"""
import BaseHTTPServer
import CGIHTTPServer
import SimpleHTTPServer
import SocketServer
import ConfigParser
from six.moves import BaseHTTPServer
from six.moves import CGIHTTPServer
from six.moves import SimpleHTTPServer
from six.moves import socketserver
from six.moves import configparser
import base64
import httplib
from six.moves import http_client
import logging
import logging.handlers
import optparse
@ -172,7 +172,7 @@ import socket
import sys
import threading
import time
import urlparse
from six.moves import urllib
from mod_pywebsocket import common
from mod_pywebsocket import dispatch
@ -348,8 +348,8 @@ class _StandaloneSSLConnection(object):
try:
return self._connection.recv(bufsize)
except OpenSSL.SSL.SysCallError, (err, message):
if err == -1:
except OpenSSL.SSL.SysCallError as e:
if e.args[0] == -1:
# Suppress "unexpected EOF" exception. See the OpenSSL document
# for SSL_get_error.
return ''
@ -376,22 +376,22 @@ def _alias_handlers(dispatcher, websock_handlers_map_file):
try:
dispatcher.add_resource_path_alias(
m.group(1), m.group(2))
except dispatch.DispatchException, e:
except dispatch.DispatchException as e:
logging.error(str(e))
finally:
fp.close()
class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
class WebSocketServer(socketserver.ThreadingMixIn, BaseHTTPServer.HTTPServer):
"""HTTPServer specialized for WebSocket."""
# Overrides SocketServer.ThreadingMixIn.daemon_threads
# Overrides socketserver.ThreadingMixIn.daemon_threads
daemon_threads = True
# Overrides BaseHTTPServer.HTTPServer.allow_reuse_address
allow_reuse_address = True
def __init__(self, options):
"""Override SocketServer.TCPServer.__init__ to set SSL enabled
"""Override socketserver.TCPServer.__init__ to set SSL enabled
socket object to self.socket before server_bind and server_activate,
if necessary.
"""
@ -416,7 +416,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
self.__ws_is_shut_down = threading.Event()
self.__ws_serving = False
SocketServer.BaseServer.__init__(
socketserver.BaseServer.__init__(
self, (options.server_host, options.port), WebSocketRequestHandler)
# Expose the options object to allow handler objects access it. We name
@ -452,7 +452,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
family, socktype, proto, canonname, sockaddr = addrinfo
try:
socket_ = socket.socket(family, socktype)
except Exception, e:
except Exception as e:
self._logger.info('Skip by failure: %r', e)
continue
server_options = self.websocket_server_options
@ -477,7 +477,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
self._sockets.append((socket_, addrinfo))
def server_bind(self):
"""Override SocketServer.TCPServer.server_bind to enable multiple
"""Override socketserver.TCPServer.server_bind to enable multiple
sockets bind.
"""
@ -490,7 +490,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
socket_.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try:
socket_.bind(self.server_address)
except Exception, e:
except Exception as e:
self._logger.info('Skip by failure: %r', e)
socket_.close()
failed_sockets.append(socketinfo)
@ -508,7 +508,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
self._sockets.remove(socketinfo)
def server_activate(self):
"""Override SocketServer.TCPServer.server_activate to enable multiple
"""Override socketserver.TCPServer.server_activate to enable multiple
sockets listen.
"""
@ -519,7 +519,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
self._logger.info('Listen on: %r', addrinfo)
try:
socket_.listen(self.request_queue_size)
except Exception, e:
except Exception as e:
self._logger.info('Skip by failure: %r', e)
socket_.close()
failed_sockets.append(socketinfo)
@ -532,7 +532,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
'No sockets activated. Use info log level to see the reason.')
def server_close(self):
"""Override SocketServer.TCPServer.server_close to enable multiple
"""Override socketserver.TCPServer.server_close to enable multiple
sockets close.
"""
@ -542,13 +542,13 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
socket_.close()
def fileno(self):
"""Override SocketServer.TCPServer.fileno."""
"""Override socketserver.TCPServer.fileno."""
self._logger.critical('Not supported: fileno')
return self._sockets[0][0].fileno()
def handle_error(self, request, client_address):
"""Override SocketServer.handle_error."""
"""Override socketserver.handle_error."""
self._logger.error(
'Exception in processing request from: %r\n%s',
@ -570,7 +570,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
if server_options.tls_module == _TLS_BY_STANDARD_MODULE:
try:
accepted_socket.do_handshake()
except ssl.SSLError, e:
except ssl.SSLError as e:
self._logger.debug('%r', e)
raise
@ -609,7 +609,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
# TODO(tyoshino): Convert all kinds of errors.
try:
accepted_socket.do_handshake()
except OpenSSL.SSL.Error, e:
except OpenSSL.SSL.Error as e:
# Set errno part to 1 (SSL_ERROR_SSL) like the ssl module
# does.
self._logger.debug('%r', e)
@ -625,7 +625,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
return accepted_socket, client_address
def serve_forever(self, poll_interval=0.5):
"""Override SocketServer.BaseServer.serve_forever."""
"""Override socketserver.BaseServer.serve_forever."""
self.__ws_serving = True
self.__ws_is_shut_down.clear()
@ -647,7 +647,7 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
self.__ws_is_shut_down.set()
def shutdown(self):
"""Override SocketServer.BaseServer.shutdown."""
"""Override socketserver.BaseServer.shutdown."""
self.__ws_serving = False
self.__ws_is_shut_down.wait()
@ -656,13 +656,13 @@ class WebSocketServer(SocketServer.ThreadingMixIn, BaseHTTPServer.HTTPServer):
class WebSocketRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler):
"""CGIHTTPRequestHandler specialized for WebSocket."""
# Use httplib.HTTPMessage instead of mimetools.Message.
MessageClass = httplib.HTTPMessage
# Use http_client.HTTPMessage instead of mimetools.Message.
MessageClass = http_client.HTTPMessage
protocol_version = "HTTP/1.1"
def setup(self):
"""Override SocketServer.StreamRequestHandler.setup to wrap rfile
"""Override socketserver.StreamRequestHandler.setup to wrap rfile
with MemorizingFile.
This method will be called by BaseRequestHandler's constructor
@ -673,7 +673,7 @@ class WebSocketRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler):
"""
# Call superclass's setup to prepare rfile, wfile, etc. See setup
# definition on the root class SocketServer.StreamRequestHandler to
# definition on the root class socketserver.StreamRequestHandler to
# understand what this does.
CGIHTTPServer.CGIHTTPRequestHandler.setup(self)
@ -735,7 +735,7 @@ class WebSocketRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler):
# Special paths for XMLHttpRequest benchmark
xhr_benchmark_helper_prefix = '/073be001e10950692ccbf3a2ad21c245'
parsed_path = urlparse.urlsplit(self.path)
parsed_path = urllib.parse.urlsplit(self.path)
if parsed_path.path == (xhr_benchmark_helper_prefix + '_send'):
xhr_benchmark_handler = XHRBenchmarkHandler(
self.headers, self.rfile, self.wfile)
@ -795,7 +795,7 @@ class WebSocketRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler):
self.path)
self._logger.info('Fallback to CGIHTTPRequestHandler')
return True
except dispatch.DispatchException, e:
except dispatch.DispatchException as e:
self._logger.info('Dispatch failed for error: %s', e)
self.send_error(e.status)
return False
@ -811,14 +811,14 @@ class WebSocketRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler):
self._options.dispatcher,
allowDraft75=self._options.allow_draft75,
strict=self._options.strict)
except handshake.VersionException, e:
except handshake.VersionException as e:
self._logger.info('Handshake failed for version error: %s', e)
self.send_response(common.HTTP_STATUS_BAD_REQUEST)
self.send_header(common.SEC_WEBSOCKET_VERSION_HEADER,
e.supported_versions)
self.end_headers()
return False
except handshake.HandshakeException, e:
except handshake.HandshakeException as e:
# Handshake for ws(s) failed.
self._logger.info('Handshake failed for error: %s', e)
self.send_error(e.status)
@ -826,7 +826,7 @@ class WebSocketRequestHandler(CGIHTTPServer.CGIHTTPRequestHandler):
request._dispatcher = self._options.dispatcher
self._options.dispatcher.transfer_data(request)
except handshake.AbortedByUserException, e:
except handshake.AbortedByUserException as e:
self._logger.info('Aborted: %s', e)
return False
@ -1067,14 +1067,14 @@ def _parse_args_and_config(args):
if temporary_options.config_file:
try:
config_fp = open(temporary_options.config_file, 'r')
except IOError, e:
except IOError as e:
logging.critical(
'Failed to open configuration file %r: %r',
temporary_options.config_file,
e)
sys.exit(1)
config_parser = ConfigParser.SafeConfigParser()
config_parser = configparser.SafeConfigParser()
config_parser.readfp(config_fp)
config_fp.close()
@ -1195,7 +1195,7 @@ def _main(args=None):
server = WebSocketServer(options)
server.serve_forever()
except Exception, e:
except Exception as e:
logging.critical('mod_pywebsocket: %s' % e)
logging.critical('mod_pywebsocket: %s' % util.get_stack_trace())
sys.exit(1)

View file

@ -47,7 +47,7 @@ except ImportError:
md5_hash = md5.md5
sha1_hash = sha.sha
import StringIO
from six.moves import StringIO
import logging
import os
import re
@ -68,7 +68,7 @@ def get_stack_trace():
TODO: Remove this when we only support Python 2.4 and above.
Use traceback.format_exc instead.
"""
out = StringIO.StringIO()
out = StringIO()
traceback.print_exc(file=out)
return out.getvalue()

View file

@ -61,7 +61,7 @@ class XHRBenchmarkHandler(object):
bytes_to_send = request_array[0]
try:
bytes_to_send = int(bytes_to_send)
except ValueError, e:
except ValueError as e:
self._logger.debug('Malformed size parameter: %r', bytes_to_send)
return