def _write(request, bytes): try: request.connection.write(bytes) except Exception, e: util.prepend_message_to_exception( 'Failed to send message to %r: ' % (request.connection.remote_addr, ), e) raise
def _check_header_lines(self): for key, expected_value in _MANDATORY_HEADERS: actual_value = self._request.headers_in.get(key) if not actual_value: raise HandshakeError("Header %s is not defined" % key) if expected_value: if actual_value != expected_value: raise HandshakeError("Illegal value for header %s: %s" % (key, actual_value)) if self._strict: try: lines = self._request.connection.get_memorized_lines() except AttributeError, e: util.prepend_message_to_exception( "Strict handshake is specified but the connection " "doesn't provide get_memorized_lines()", e ) raise self._check_first_lines(lines)
def _check_header_lines(self): for key, expected_value in _MANDATORY_HEADERS: actual_value = self._request.headers_in.get(key) if not actual_value: raise HandshakeError('Header %s is not defined' % key) if expected_value: if actual_value != expected_value: raise HandshakeError('Illegal value for header %s: %s' % (key, actual_value)) if self._strict: try: lines = self._request.connection.get_memorized_lines() except AttributeError, e: util.prepend_message_to_exception( 'Strict handshake is specified but the connection ' 'doesn\'t provide get_memorized_lines()', e) raise self._check_first_lines(lines)
def transfer_data(self, request): """Let a handler transfer_data with a Web Socket client. Select a handler based on request.ws_resource and call its web_socket_transfer_data function. Args: request: mod_python request. """ unused_do_extra_handshake, transfer_data_ = self._handler(request) try: transfer_data_(request) except Exception, e: util.prepend_message_to_exception( '%s raised exception for %s: ' % (_TRANSFER_DATA_HANDLER_NAME, request.ws_resource), e) raise
def do_extra_handshake(self, request): """Do extra checking in Web Socket handshake. Select a handler based on request.uri and call its web_socket_do_extra_handshake function. Args: request: mod_python request. """ do_extra_handshake_, unused_transfer_data = self._handler(request) try: do_extra_handshake_(request) except Exception, e: util.prepend_message_to_exception( '%s raised exception for %s: ' % (_DO_EXTRA_HANDSHAKE_HANDLER_NAME, request.ws_resource), e) raise
def transfer_data(self, request): """Let a handler transfer_data with a Web Socket client. Select a handler based on request.ws_resource and call its web_socket_transfer_data function. Args: request: mod_python request. """ unused_do_extra_handshake, transfer_data_ = self._handler(request) try: transfer_data_(request) except Exception, e: util.prepend_message_to_exception( '%s raised exception for %s: ' % ( _TRANSFER_DATA_HANDLER_NAME, request.ws_resource), e) raise
def do_extra_handshake(self, request): """Do extra checking in Web Socket handshake. Select a handler based on request.uri and call its web_socket_do_extra_handshake function. Args: request: mod_python request. """ do_extra_handshake_, unused_transfer_data = self._handler(request) try: do_extra_handshake_(request) except Exception, e: util.prepend_message_to_exception( '%s raised exception for %s: ' % ( _DO_EXTRA_HANDSHAKE_HANDLER_NAME, request.ws_resource), e) raise
def _write(request, bytes): try: request.connection.write(bytes) except Exception, e: util.prepend_message_to_exception("Failed to send message to %r: " % (request.connection.remote_addr,), e) raise