MCPcopy
hub / github.com/encode/httpx / Response

Class Response

httpx/_models.py:515–1076  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

513
514
515class Response:
516 def __init__(
517 self,
518 status_code: int,
519 *,
520 headers: HeaderTypes | None = None,
521 content: ResponseContent | None = None,
522 text: str | None = None,
523 html: str | None = None,
524 json: typing.Any = None,
525 stream: SyncByteStream | AsyncByteStream | None = None,
526 request: Request | None = None,
527 extensions: ResponseExtensions | None = None,
528 history: list[Response] | None = None,
529 default_encoding: str | typing.Callable[[bytes], str] = "utf-8",
530 ) -> None:
531 self.status_code = status_code
532 self.headers = Headers(headers)
533
534 self._request: Request | None = request
535
536 # When follow_redirects=False and a redirect is received,
537 # the client will set `response.next_request`.
538 self.next_request: Request | None = None
539
540 self.extensions = {} if extensions is None else dict(extensions)
541 self.history = [] if history is None else list(history)
542
543 self.is_closed = False
544 self.is_stream_consumed = False
545
546 self.default_encoding = default_encoding
547
548 if stream is None:
549 headers, stream = encode_response(content, text, html, json)
550 self._prepare(headers)
551 self.stream = stream
552 if isinstance(stream, ByteStream):
553 # Load the response body, except for streaming content.
554 self.read()
555 else:
556 # There's an important distinction between `Response(content=...)`,
557 # and `Response(stream=...)`.
558 #
559 # Using `content=...` implies automatically populated content headers,
560 # of either `Content-Length: ...` or `Transfer-Encoding: chunked`.
561 #
562 # Using `stream=...` will not automatically include any content headers.
563 #
564 # As an end-user you don't really need `stream=...`. It's only
565 # useful when creating response instances having received a stream
566 # from the transport API.
567 self.stream = stream
568
569 self._num_bytes_downloaded = 0
570
571 def _prepare(self, default_headers: dict[str, str]) -> None:
572 for key, value in default_headers.items():

Callers 4

handle_async_requestMethod · 0.85
handle_requestMethod · 0.85
handle_requestMethod · 0.85
handle_async_requestMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected