code: def on_connection_close(self) -> None:
          
          if _has_stream_request_body(self.__class__):
              if not self.request._body_future.done():
                  self.request._body_future.set_exception(iostream.StreamClosedError())
                  self.request._body_future.exception()
docs: Called in async handlers if the client closed the connection.
  
          Override this to clean up resources associated with
          long-lived connections.  Note that this method is called only if
          the connection was closed during asynchronous processing; if you
          need to do cleanup after every request override `on_finish`
          instead.
  
          Proxies may keep a connection open for a time (perhaps
          indefinitely) after the client has gone away, so this method
          may not be called promptly after the end user closes their
          connection.