Esempio n. 1
0
 def handle_connect(self, eventmask):
     if eventmask & looping.POLLOUT:
         error = self.sock.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR)
         if error:
             raise socket.error(error, errno.errorcode[error])
         self.address = self.sock.getpeername()
         # We're connected, prepare to send our request
         _req = self._build_request()
         self.output_buffer = buffer_event.BufferOutputHandler(
             self.sock, (_req, ))
         self.handle_event = self.handle_request
         # Immediately try to send some data
         self.handle_event(eventmask)
Esempio n. 2
0
    def __init__(self, server, sock, address, request_parser, response):
        self.server = server
        self.sock = sock
        self.address = address
        self.request_parser = request_parser

        self.output_buffer = buffer_event.BufferOutputHandler(
            sock, (response.as_bytes(), ))

        # statistics
        self.status = response.status
        self.connect_time = server.loop.now()
        self.bytes_sent = 0
Esempio n. 3
0
    def __init__(self,
                 server,
                 sock,
                 address,
                 request_parser,
                 status,
                 reason,
                 headers=None,
                 body=b''):
        self.server = server
        self.sock = sock
        self.address = address
        self.request_parser = request_parser

        self.output_buffer = buffer_event.BufferOutputHandler(sock)
        data = self._build_response(status, reason, headers or {}, body)
        self.output_buffer.add_buffer(data)
        self.last_activity = datetime.datetime.now()
Esempio n. 4
0
    def __init__(
        self,
        server: "TCPServer",
        sock: socket.socket,
        address: tuple[str, int],
        request_parser: HTTPParser,
        response: "HTTPResponse",
    ) -> None:
        self.server = server
        self.sock = sock
        self.address = address
        self.request_parser = request_parser

        self.output_buffer = buffer_event.BufferOutputHandler(
            sock, (response.as_bytes(), ))

        # statistics
        self.status = response.status
        self.connect_time = server.loop.now()
        self.bytes_sent = 0