当前位置: 首页>>代码示例>>Python>>正文


Python exceptions.TransportError方法代码示例

本文整理汇总了Python中google.auth.exceptions.TransportError方法的典型用法代码示例。如果您正苦于以下问题:Python exceptions.TransportError方法的具体用法?Python exceptions.TransportError怎么用?Python exceptions.TransportError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在google.auth.exceptions的用法示例。


在下文中一共展示了exceptions.TransportError方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: refresh

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def refresh(self, request):
        """Refresh the access token and scopes.

        Args:
            request (google.auth.transport.Request): The object used to make
                HTTP requests.

        Raises:
            google.auth.exceptions.RefreshError: If the Compute Engine metadata
                service can't be reached if if the instance has not
                credentials.
        """
        try:
            self._retrieve_info(request)
            self.token, self.expiry = _metadata.get_service_account_token(
                request, service_account=self._service_account_email
            )
        except exceptions.TransportError as caught_exc:
            new_exc = exceptions.RefreshError(caught_exc)
            six.raise_from(new_exc, caught_exc) 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:22,代码来源:credentials.py

示例2: get_service_account_token

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def get_service_account_token(request, service_account="default"):
    """Get the OAuth 2.0 access token for a service account.

    Args:
        request (google.auth.transport.Request): A callable used to make
            HTTP requests.
        service_account (str): The string 'default' or a service account email
            address. The determines which service account for which to acquire
            an access token.

    Returns:
        Union[str, datetime]: The access token and its expiration.

    Raises:
        google.auth.exceptions.TransportError: if an error occurred while
            retrieving metadata.
    """
    token_json = get(
        request, "instance/service-accounts/{0}/token".format(service_account)
    )
    token_expiry = _helpers.utcnow() + datetime.timedelta(
        seconds=token_json["expires_in"]
    )
    return token_json["access_token"], token_expiry 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:26,代码来源:_metadata.py

示例3: _make_signing_request

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def _make_signing_request(self, message):
        """Makes a request to the API signBlob API."""
        message = _helpers.to_bytes(message)

        method = "POST"
        url = _SIGN_BLOB_URI.format(self._service_account_email)
        headers = {}
        body = json.dumps(
            {"payload": base64.b64encode(message).decode("utf-8")}
        ).encode("utf-8")

        self._credentials.before_request(self._request, method, url, headers)
        response = self._request(url=url, method=method, body=body, headers=headers)

        if response.status != http_client.OK:
            raise exceptions.TransportError(
                "Error calling the IAM signBytes API: {}".format(response.data)
            )

        return json.loads(response.data.decode("utf-8")) 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:22,代码来源:iam.py

示例4: _fetch_certs

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def _fetch_certs(request, certs_url):
    """Fetches certificates.

    Google-style cerificate endpoints return JSON in the format of
    ``{'key id': 'x509 certificate'}``.

    Args:
        request (google.auth.transport.Request): The object used to make
            HTTP requests.
        certs_url (str): The certificate endpoint URL.

    Returns:
        Mapping[str, str]: A mapping of public key ID to x.509 certificate
            data.
    """
    response = request(certs_url, method="GET")

    if response.status != http_client.OK:
        raise exceptions.TransportError(
            "Could not fetch certificates at {}".format(certs_url)
        )

    return json.loads(response.data.decode("utf-8")) 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:25,代码来源:id_token.py

示例5: _get_gce_credentials

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def _get_gce_credentials(request=None):
    """Gets credentials and project ID from the GCE Metadata Service."""
    # Ping requires a transport, but we want application default credentials
    # to require no arguments. So, we'll use the _http_client transport which
    # uses http.client. This is only acceptable because the metadata server
    # doesn't do SSL and never requires proxies.
    from google.auth import compute_engine
    from google.auth.compute_engine import _metadata

    if request is None:
        request = google.auth.transport._http_client.Request()

    if _metadata.ping(request=request):
        # Get the project ID.
        try:
            project_id = _metadata.get_project_id(request=request)
        except exceptions.TransportError:
            project_id = None

        return compute_engine.Credentials(), project_id
    else:
        return None, None 
开发者ID:fniephaus,项目名称:alfred-gmail,代码行数:24,代码来源:_default.py

示例6: refresh

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def refresh(self, request):
        """Refresh the access token and scopes.

        Args:
            request (google.auth.transport.Request): The object used to make
                HTTP requests.

        Raises:
            google.auth.exceptions.RefreshError: If the Compute Engine metadata
                service can't be reached if if the instance has not
                credentials.
        """
        try:
            self._retrieve_info(request)
            self.token, self.expiry = _metadata.get_service_account_token(
                request,
                service_account=self._service_account_email)
        except exceptions.TransportError as caught_exc:
            new_exc = exceptions.RefreshError(caught_exc)
            six.raise_from(new_exc, caught_exc) 
开发者ID:fniephaus,项目名称:alfred-gmail,代码行数:22,代码来源:credentials.py

示例7: get_service_account_token

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def get_service_account_token(request, service_account='default'):
    """Get the OAuth 2.0 access token for a service account.

    Args:
        request (google.auth.transport.Request): A callable used to make
            HTTP requests.
        service_account (str): The string 'default' or a service account email
            address. The determines which service account for which to acquire
            an access token.

    Returns:
        Union[str, datetime]: The access token and its expiration.

    Raises:
        google.auth.exceptions.TransportError: if an error occurred while
            retrieving metadata.
    """
    token_json = get(
        request,
        'instance/service-accounts/{0}/token'.format(service_account))
    token_expiry = _helpers.utcnow() + datetime.timedelta(
        seconds=token_json['expires_in'])
    return token_json['access_token'], token_expiry 
开发者ID:fniephaus,项目名称:alfred-gmail,代码行数:25,代码来源:_metadata.py

示例8: _make_signing_request

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def _make_signing_request(self, message):
        """Makes a request to the API signBlob API."""
        message = _helpers.to_bytes(message)

        method = 'POST'
        url = _SIGN_BLOB_URI.format(self._service_account_email)
        headers = {}
        body = json.dumps({
            'bytesToSign': base64.b64encode(message).decode('utf-8'),
        })

        self._credentials.before_request(self._request, method, url, headers)
        response = self._request(
            url=url, method=method, body=body, headers=headers)

        if response.status != http_client.OK:
            raise exceptions.TransportError(
                'Error calling the IAM signBytes API: {}'.format(
                    response.data))

        return json.loads(response.data.decode('utf-8')) 
开发者ID:fniephaus,项目名称:alfred-gmail,代码行数:23,代码来源:iam.py

示例9: _fetch_certs

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def _fetch_certs(request, certs_url):
    """Fetches certificates.

    Google-style cerificate endpoints return JSON in the format of
    ``{'key id': 'x509 certificate'}``.

    Args:
        request (google.auth.transport.Request): The object used to make
            HTTP requests.
        certs_url (str): The certificate endpoint URL.

    Returns:
        Mapping[str, str]: A mapping of public key ID to x.509 certificate
            data.
    """
    response = request(certs_url, method='GET')

    if response.status != http_client.OK:
        raise exceptions.TransportError(
            'Could not fetch certificates at {}'.format(certs_url))

    return json.loads(response.data.decode('utf-8')) 
开发者ID:fniephaus,项目名称:alfred-gmail,代码行数:24,代码来源:id_token.py

示例10: check_gce_environment

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def check_gce_environment(http_request):
    try:
        _metadata.get_service_account_info(http_request)
    except exceptions.TransportError:
        pytest.skip("Compute Engine metadata service is not available.") 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:7,代码来源:test_compute_engine.py

示例11: test_refresh_error

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def test_refresh_error(self, get):
        get.side_effect = exceptions.TransportError("http error")

        with pytest.raises(exceptions.RefreshError) as excinfo:
            self.credentials.refresh(None)

        assert excinfo.match(r"http error") 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:9,代码来源:test_credentials.py

示例12: test_transport_error_from_metadata

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def test_transport_error_from_metadata(self, get, get_service_account_info):
        get.side_effect = exceptions.TransportError("transport error")
        get_service_account_info.return_value = {"email": "foo@example.com"}

        cred = credentials.IDTokenCredentials(
            mock.Mock(), "audience", use_metadata_identity_endpoint=True
        )

        with pytest.raises(exceptions.RefreshError) as excinfo:
            cred.refresh(request=mock.Mock())
        assert excinfo.match(r"transport error") 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:13,代码来源:test_credentials.py

示例13: make_request

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def make_request(data, status=http_client.OK, headers=None, retry=False):
    response = mock.create_autospec(transport.Response, instance=True)
    response.status = status
    response.data = _helpers.to_bytes(data)
    response.headers = headers or {}

    request = mock.create_autospec(transport.Request)
    if retry:
        request.side_effect = [exceptions.TransportError(), response]
    else:
        request.return_value = response

    return request 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:15,代码来源:test__metadata.py

示例14: test_ping_failure_connection_failed

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def test_ping_failure_connection_failed():
    request = make_request("")
    request.side_effect = exceptions.TransportError()

    assert not _metadata.ping(request) 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:7,代码来源:test__metadata.py

示例15: test_get_failure_connection_failed

# 需要导入模块: from google.auth import exceptions [as 别名]
# 或者: from google.auth.exceptions import TransportError [as 别名]
def test_get_failure_connection_failed():
    request = make_request("")
    request.side_effect = exceptions.TransportError()

    with pytest.raises(exceptions.TransportError) as excinfo:
        _metadata.get(request, PATH)

    assert excinfo.match(r"Compute Engine Metadata server unavailable")

    request.assert_called_with(
        method="GET",
        url=_metadata._METADATA_ROOT + PATH,
        headers=_metadata._METADATA_HEADERS,
    )
    assert request.call_count == 5 
开发者ID:googleapis,项目名称:google-auth-library-python,代码行数:17,代码来源:test__metadata.py


注:本文中的google.auth.exceptions.TransportError方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。