Пример #1
0
    def connection_made(self, transport: asyncio.BaseTransport) -> None:
        super().connection_made(transport)

        assert isinstance(transport, asyncio.Transport)

        transport.write(
            b'HTTP/1.1 200 OK\r\nContent-Length: 10\r\n\r\n{"a": "b"}')
Пример #2
0
    def connection_made(self, transport: asyncio.BaseTransport) -> None:
        super().connection_made(transport)

        assert isinstance(transport, asyncio.Transport)

        transport.write(b"HTTP/1.1 200 OK\r\nContent-Length: 13\r\n\r\nHello,")
        transport.close()
Пример #3
0
    def connection_made(self, transport: asyncio.BaseTransport) -> None:
        super().connection_made(transport)

        assert isinstance(transport, asyncio.Transport)
        transport.write(b"HTTP/1.1 302 Found\r\nLocation: ../\r\n"
                        b"Content-Length: 0\r\n\r\n")

        transport.write(
            b"HTTP/1.1 200 OK\r\nContent-Length: 13\r\n\r\nHello, World!")
Пример #4
0
    def connection_made(self, transport: BaseTransport) -> None:
        if not isinstance(transport, Transport):
            raise ValueError("transport must be a proper Transport")

        super().connection_made(transport)
        # when we get a TCP connection to the HTTP proxy, we invoke the CONNECT
        # method on it to open a tunnelled TCP connection through the proxy to
        # the other side
        host, port = self._target_hostport
        transport.write(f"CONNECT {host}:{port} HTTP/1.0\r\n".encode())
        if self._proxy_credentials:
            username, password = self._proxy_credentials
            # a credential pair is a urlsafe-base64-encoded pair separated by colon
            encoded_credentials = urlsafe_b64encode(
                f"{username}:{password}".encode())
            transport.write(b"Proxy-Authorization: basic " +
                            encoded_credentials + b"\r\n")
        # a blank line terminates the request headers
        transport.write(b"\r\n")

        logger.debug("Initiating proxy CONNECT")

        # now we wait ...
        self._transport = transport
Пример #5
0
    def connection_made(self, transport: asyncio.BaseTransport) -> None:
        super().connection_made(transport)

        assert isinstance(transport, asyncio.Transport)
        transport.write(b"HTTP/1.1 404 Not Found\r\nContent-Length: 19\r\n\r\n"
                        b"HTTP 404: Not Found")
Пример #6
0
    def connection_made(self, transport: asyncio.BaseTransport) -> None:
        super().connection_made(transport)

        assert isinstance(transport, asyncio.Transport)

        transport.write(os.urandom(128 * 1024))
Пример #7
0
    def connection_made(self, transport: asyncio.BaseTransport) -> None:
        super().connection_made(transport)

        assert isinstance(transport, asyncio.Transport)
        transport.write(b"HTTP/1.1 204 No Content\r\n"
                        b"Access-Control-Allow-Origin: *\r\n\r\n")
Пример #8
0
 def connection_made(self, transport: asyncio.BaseTransport) -> None:
     self.transport = transport
     transport.write(self.initial_data)