def METHOD_NAME(self, *args, **kwargs):
    """
    Returns a response object.
    """
    try:
        return self._conn.METHOD_NAME(*args, **kwargs)
    except HTTPUpgrade as e:
        # We upgraded via the HTTP Upgrade mechanism. We can just
        # go straight to the world of HTTP/2. Replace the backing object
        # and insert the socket into it.
        assert e.negotiated == H2C_PROTOCOL
        self._conn = HTTP20Connection(
            self._host, self._port, **self._h2_kwargs
        )
        self._conn._connect_upgrade(e.sock)
        # stream id 1 is used by the upgrade request and response
        # and is half-closed by the client
        return self._conn.METHOD_NAME(1)