コード例 #1
0
    def test_reading_chunked_request(self):
        tracker = TrackingDelegate(ValidatingDelegate(self))
        parser = ResponseParser(tracker)

        chunk_message(CHUNKED_RESPONSE, parser)

        tracker.validate_hits({
            RESPONSE_HTTP_VERSION_SLOT: 1,
            RESPONSE_CODE_SLOT: 1,
            HEADER_FIELD_SLOT: 1,
            HEADER_VALUE_SLOT: 1,
            BODY_SLOT: 4,
            BODY_COMPLETE_SLOT: 1}, self)
コード例 #2
0
    def test_reading_request_with_content_length(self):
        tracker = TrackingDelegate(ValidatingDelegate(self))
        parser = ResponseParser(tracker)

        chunk_message(NORMAL_RESPONSE, parser)

        tracker.validate_hits({
            RESPONSE_HTTP_VERSION_SLOT: 1,
            RESPONSE_CODE_SLOT: 1,
            HEADER_FIELD_SLOT: 1,
            HEADER_VALUE_SLOT: 1,
            BODY_SLOT: 3,
            BODY_COMPLETE_SLOT: 1}, self)
コード例 #3
0
ファイル: proxyng.py プロジェクト: akatrevorjay/pyrox
    def _on_upstream_live(self, upstream):
        self._upstream_handler = UpstreamHandler(
            self._downstream,
            upstream,
            self._us_filter_pl,
            self._request)

        if self._upstream_parser:
            self._upstream_parser.destroy()
        self._upstream_parser = ResponseParser(self._upstream_handler)

        # Set the read callback
        upstream.read(self._on_upstream_read)

        # Send the proxied request object
        upstream.write(self._request.to_bytes())

        # Drop the ref to the proxied request head
        self._request = None

        # Set up our downstream handler
        self._downstream_handler.on_upstream_connect(upstream)