def test_client_handshake_headers(self): h = websockets.client_handshake_headers(version='42') assert h['sec-websocket-version'] == '42' h = websockets.client_handshake_headers(key='some-key') assert h['sec-websocket-key'] == 'some-key' h = websockets.client_handshake_headers(protocol='foobar') assert h['sec-websocket-protocol'] == 'foobar' h = websockets.client_handshake_headers(extensions='foo; bar') assert h['sec-websocket-extensions'] == 'foo; bar'
def resolve(self, settings, msg=None): tokens = self.tokens[:] if self.ws: if not self.method: tokens.insert(1, Method("get")) for i in websockets.client_handshake_headers().lst: if not utils.get_header(i[0], self.headers): tokens.append( Header(ValueLiteral(i[0]), ValueLiteral(i[1]))) if not self.raw: if not utils.get_header("Content-Length", self.headers): if self.body: length = len(self.body.value.get_generator(settings)) tokens.append( Header( ValueLiteral("Content-Length"), ValueLiteral(str(length)), )) if settings.request_host: if not utils.get_header("Host", self.headers): tokens.append( Header(ValueLiteral("Host"), ValueLiteral(settings.request_host))) intermediate = self.__class__(tokens) return self.__class__( [i.resolve(settings, intermediate) for i in tokens])
def resolve(self, settings, msg=None): tokens = self.tokens[:] if self.ws: if not self.method: tokens.insert( 1, Method("get") ) for i in websockets.client_handshake_headers().lst: if not utils.get_header(i[0], self.headers): tokens.append( Header(ValueLiteral(i[0]), ValueLiteral(i[1])) ) if not self.raw: if not utils.get_header("Content-Length", self.headers): if self.body: length = len(self.body.value.get_generator(settings)) tokens.append( Header( ValueLiteral("Content-Length"), ValueLiteral(str(length)), ) ) if settings.request_host: if not utils.get_header("Host", self.headers): tokens.append( Header( ValueLiteral("Host"), ValueLiteral(settings.request_host) ) ) intermediate = self.__class__(tokens) return self.__class__( [i.resolve(settings, intermediate) for i in tokens] )
def connect(self): super(WebSocketsClient, self).connect() preamble = http.request_preamble("GET", "/") self.wfile.write(preamble + "\r\n") headers = websockets.client_handshake_headers() self.client_nonce = headers.get_first("sec-websocket-key") self.wfile.write(headers.format() + "\r\n") self.wfile.flush() resp = http.read_response(self.rfile, "get", None) server_nonce = websockets.check_server_handshake(resp.headers) if not server_nonce == websockets.create_server_nonce(self.client_nonce): self.close()
def connect(self): super(WebSocketsClient, self).connect() preamble = http.request_preamble("GET", "/") self.wfile.write(preamble + "\r\n") headers = websockets.client_handshake_headers() self.client_nonce = headers.get_first("sec-websocket-key") self.wfile.write(headers.format() + "\r\n") self.wfile.flush() resp = http.read_response(self.rfile, "get", None) server_nonce = websockets.check_server_handshake(resp.headers) if not server_nonce == websockets.create_server_nonce( self.client_nonce): self.close()
def test_check_client_handshake(self): headers = websockets.client_handshake_headers("key") assert websockets.check_client_handshake(headers) == "key" headers["Upgrade"] = ["not_websocket"] assert not websockets.check_client_handshake(headers)
def test_check_client_handshake(self): headers = websockets.client_handshake_headers("key") assert websockets.check_client_handshake(headers) == "key" headers["Upgrade"] = ["not_websocket"] assert not websockets.check_client_handshake(headers)