class_docstr: Implements the HTTP/1.x protocol.
  
  This class can be on its own for clients, or via `HTTP1ServerConnection`
  for servers.
class_docstr_tok: ["Implements","the","HTTP\/1.x","protocol",".","This","class","can","be","on","its","own","for","clients",",","or","via","`","HTTP1ServerConnection","`","for","servers","."]
docstr: Read a single HTTP response.
  
  Typical client-mode usage is to write a request using `write_headers`,
  `write`, and `finish`, and then call ``read_response``.
  
  :arg delegate: a `.HTTPMessageDelegate`
  
  Returns a `.Future` that resolves to a bool after the full response has
  been read. The result is true if the stream is still open.
code: def read_response(
      self, delegate: httputil.HTTPMessageDelegate
  ) -> Awaitable[bool]:
      """Read a single HTTP response.
  
      Typical client-mode usage is to write a request using `write_headers`,
      `write`, and `finish`, and then call ``read_response``.
  
      :arg delegate: a `.HTTPMessageDelegate`
  
      Returns a `.Future` that resolves to a bool after the full response has
      been read. The result is true if the stream is still open.
      """
      if self.params.decompress:
          delegate = _GzipMessageDelegate(
              delegate, self.params.chunk_size
          )
      return self._read_message(delegate)
  
imports: import asyncio
  import logging
  import re
  import types
  from tornado.concurrent import Future, future_add_done_callback, future_set_result_unless_cancelled
  from tornado.escape import native_str, utf8
  from tornado import gen
  from tornado import httputil
  from tornado import iostream
  from tornado.log import gen_log, app_log
  from tornado.util import GzipDecompressor
  from typing import cast, Optional, Type, Awaitable, Callable, Union, Tuple
label_desc: Use image node_id 2 for calling the HTTP1Connection obj's underlying member method code with example usage: obj.read_response(delegate) and returns: self