def handshake(self): req = http.read_request(self.rfile) key = websockets.check_client_handshake(req.headers) self.wfile.write(http.response_preamble(101) + "\r\n") headers = websockets.server_handshake_headers(key) self.wfile.write(headers.format() + "\r\n") self.wfile.flush() self.handshake_done = True
def test_expect(self): w = cStringIO.StringIO() r = cStringIO.StringIO( "GET / HTTP/1.1\r\n" "Content-Length: 3\r\n" "Expect: 100-continue\r\n\r\n" "foobar", ) v = http.read_request(r, wfile=w) assert w.getvalue() == "HTTP/1.1 100 Continue\r\n\r\n" assert v.content == "foo" assert r.read(3) == "bar"
def tst(self, data, **kwargs): r = cStringIO.StringIO(data) return http.read_request(r, **kwargs)