Download docker/deezer-spleeter-env/lib/python3.10/site-packages/grpc/_auth.py from kopyl/norae: direct link, hf CLI and curl.
- Browser
- Download file 2.63 kB
-
https://huggingface.co/kopyl/norae/resolve/main/docker/deezer-spleeter-env/lib/python3.10/site-packages/grpc/_auth.py
- Command line
-
hf download hf://kopyl/norae/docker/deezer-spleeter-env/lib/python3.10/site-packages/grpc/_auth.py
-
curl -L -o _auth.py https://huggingface.co/kopyl/norae/resolve/main/docker/deezer-spleeter-env/lib/python3.10/site-packages/grpc/_auth.py
2.63 kB
| # Copyright 2016 gRPC authors. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| """GRPCAuthMetadataPlugins for standard authentication.""" | |
| import inspect | |
| from typing import Any, Optional | |
| import grpc | |
| def _sign_request(callback: grpc.AuthMetadataPluginCallback, | |
| token: Optional[str], error: Optional[Exception]): | |
| metadata = (('authorization', 'Bearer {}'.format(token)),) | |
| callback(metadata, error) | |
| class GoogleCallCredentials(grpc.AuthMetadataPlugin): | |
| """Metadata wrapper for GoogleCredentials from the oauth2client library.""" | |
| _is_jwt: bool | |
| _credentials: Any | |
| # TODO(xuanwn): Give credentials an actual type. | |
| def __init__(self, credentials: Any): | |
| self._credentials = credentials | |
| # Hack to determine if these are JWT creds and we need to pass | |
| # additional_claims when getting a token | |
| self._is_jwt = 'additional_claims' in inspect.getfullargspec( | |
| credentials.get_access_token).args | |
| def __call__(self, context: grpc.AuthMetadataContext, | |
| callback: grpc.AuthMetadataPluginCallback): | |
| try: | |
| if self._is_jwt: | |
| access_token = self._credentials.get_access_token( | |
| additional_claims={ | |
| 'aud': | |
| context. | |
| service_url # pytype: disable=attribute-error | |
| }).access_token | |
| else: | |
| access_token = self._credentials.get_access_token().access_token | |
| except Exception as exception: # pylint: disable=broad-except | |
| _sign_request(callback, None, exception) | |
| else: | |
| _sign_request(callback, access_token, None) | |
| class AccessTokenAuthMetadataPlugin(grpc.AuthMetadataPlugin): | |
| """Metadata wrapper for raw access token credentials.""" | |
| _access_token: str | |
| def __init__(self, access_token: str): | |
| self._access_token = access_token | |
| def __call__(self, context: grpc.AuthMetadataContext, | |
| callback: grpc.AuthMetadataPluginCallback): | |
| _sign_request(callback, self._access_token, None) | |