示例#1
0
    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)
示例#2
0
    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'] = ''
示例#3
0
文件: wsgi.py 项目: dungeonsnd/zokket
    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'] = ''
示例#4
0
文件: wsgi.py 项目: dungeonsnd/zokket
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)
示例#5
0
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)
示例#6
0
    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)
示例#7
0
    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)