def test_normal_buffer(self): s = TCPSocket() s.read_buffer = b'blob' read_buffer = s.dequeue_buffer() self.assertEqual(next(read_buffer), b'blob') self.assertRaises(StopIteration, next, read_buffer) s.read_buffer += b'more' read_buffer = s.dequeue_buffer() self.assertEqual(next(read_buffer), b'more') self.assertRaises(StopIteration, next, read_buffer)
def __init__(self, handler, host='', port=8082): self.handler = handler self.socket = TCPSocket(self) self.socket.accept(host, port) self.base_environ = {} self.base_environ['SERVER_NAME'] = socket.getfqdn( self.socket.local_host()) self.base_environ['SERVER_PORT'] = str(self.socket.local_port()) self.base_environ['GATEWAY_INTERFACE'] = 'CGI/1.1' self.base_environ['REMOTE_HOST'] = '' self.base_environ['CONTENT_LENGTH'] = '' self.base_environ['SCRIPT_NAME'] = ''
def __init__(self, handler, host='', port=8082): self.handler = handler self.socket = TCPSocket(self) self.socket.accept(host, port) self.base_environ = {} self.base_environ['SERVER_NAME'] = socket.getfqdn(self.socket.local_host()) self.base_environ['SERVER_PORT'] = str(self.socket.local_port()) self.base_environ['GATEWAY_INTERFACE'] = 'CGI/1.1' self.base_environ['REMOTE_HOST'] = '' self.base_environ['CONTENT_LENGTH'] = '' self.base_environ['SCRIPT_NAME'] = ''
class WSGIServer(object): protocol_version = "HTTP/1.0" request_version = "HTTP/0.9" def __init__(self, handler, host='', port=8082): self.handler = handler self.socket = TCPSocket(self) self.socket.accept(host, port) self.base_environ = {} self.base_environ['SERVER_NAME'] = socket.getfqdn(self.socket.local_host()) self.base_environ['SERVER_PORT'] = str(self.socket.local_port()) self.base_environ['GATEWAY_INTERFACE'] = 'CGI/1.1' self.base_environ['REMOTE_HOST'] = '' self.base_environ['CONTENT_LENGTH'] = '' self.base_environ['SCRIPT_NAME'] = '' def socket_did_connect(self, sock, host, port): sock.read_until_data = "\r\n\r\n" def socket_read_data(self, sock, data): WSGIRequestHandler(self, sock, data)
class WSGIServer(object): protocol_version = "HTTP/1.0" request_version = "HTTP/0.9" def __init__(self, handler, host='', port=8082): self.handler = handler self.socket = TCPSocket(self) self.socket.accept(host, port) self.base_environ = {} self.base_environ['SERVER_NAME'] = socket.getfqdn( self.socket.local_host()) self.base_environ['SERVER_PORT'] = str(self.socket.local_port()) self.base_environ['GATEWAY_INTERFACE'] = 'CGI/1.1' self.base_environ['REMOTE_HOST'] = '' self.base_environ['CONTENT_LENGTH'] = '' self.base_environ['SCRIPT_NAME'] = '' def socket_did_connect(self, sock, host, port): sock.read_until_data = "\r\n\r\n" def socket_read_data(self, sock, data): WSGIRequestHandler(self, sock, data)
def test_read_until_data(self): s = TCPSocket() s.read_until_data = b'\r\n' s.read_buffer = b'test\r\nanother line\r\nyet another' read_buffer = s.dequeue_buffer() self.assertEqual(next(read_buffer), b'test\r\n') self.assertEqual(next(read_buffer), b'another line\r\n') self.assertRaises(StopIteration, next, read_buffer) s.read_buffer += b' line\r\n' read_buffer = s.dequeue_buffer() self.assertEqual(next(read_buffer), b'yet another line\r\n') self.assertRaises(StopIteration, next, read_buffer)
def test_read_until_length(self): s = TCPSocket() s.read_until_length = 2 s.read_buffer = b'12345' read_buffer = s.dequeue_buffer() self.assertEqual(next(read_buffer), b'12') self.assertEqual(next(read_buffer), b'34') self.assertRaises(StopIteration, next, read_buffer) s.read_buffer += b'6' read_buffer = s.dequeue_buffer() self.assertEqual(next(read_buffer), b'56') self.assertRaises(StopIteration, next, read_buffer)