def auth_flow(self, request: httpx.Request) -> Iterator[httpx.Request]:
        """
        The authentication flow that signs the HTTPX request using the OCI signer.

        Args:
            request (httpx.Request): The outgoing HTTPX request to be signed.

        Yields:
            httpx.Request: The signed HTTPX request.

        """
        # Create a requests.Request object from the HTTPX request
        req = requests.Request(
            method=request.method,
            url=str(request.url),
            headers=dict(request.headers),
            data=request.content,
        )
        prepared_request = req.prepare()

        # Sign the request using the OCI Signer
        self.signer.do_request_sign(prepared_request)

        # Update the original HTTPX request with the signed headers
        request.headers.update(prepared_request.headers)

        # Proceed with the request
        yield request

        The authentication flow that signs the HTTPX request using the OCI signer.

        Args:
            request (httpx.Request): The outgoing HTTPX request to be signed.

        Yields:
            httpx.Request: The signed HTTPX request.

        
llama-index-integrations/llms/llama-index-llms-oci-data-science/llama_index/llms/oci_data_science/client.py