Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def __new__(cls, *args, **kwargs):
# Get all coros of this the abstract class
parent_abstract_coros = inspect.getmembers(
AbstractOAuth2Manager, predicate=inspect.iscoroutinefunction
)
# Ensure all relevant child methods are implemented as coros
for coro in parent_abstract_coros:
coro_name = coro[0]
child_method = getattr(cls, coro_name)
if not inspect.iscoroutinefunction(child_method):
raise RuntimeError(f"{child_method} must be a coroutine")
# Resume with normal behavior of a Python constructor
return super(AbstractOAuth2Manager, cls).__new__(cls)
if "key=" in request.url:
return request
else:
url = request.url
if "?" not in url:
if url.endswith("/"):
url = url[:-1]
url += "?"
else:
url += "&"
url += f"key={key}"
request.url = url
return request
class Oauth2Manager(AbstractOAuth2Manager):
def __init__(self, session_factory=AiohttpSession, verify=True, client_creds=None):
self.oauth2_api = GoogleAPI(OAUTH2_V2_DISCVOCERY_DOC)
self.openid_configs = WELLKNOWN_OPENID_CONFIGS
self.session_factory = session_factory
self.active_session = None
self.verify = verify
self.client_creds = client_creds
def __getitem__(self, key):
"""
Gets Google's openID configs
Example:
* response_types_supported
def __new__(cls, *args, **kwargs):
# Get all coros of this the abstract class
parent_abstract_coros = inspect.getmembers(
AbstractOAuth2Manager, predicate=inspect.iscoroutinefunction
)
# Ensure all relevant child methods are implemented as coros
for coro in parent_abstract_coros:
coro_name = coro[0]
child_method = getattr(cls, coro_name)
if not inspect.iscoroutinefunction(child_method):
raise RuntimeError(f"{child_method} must be a coroutine")
# Resume with normal behavior of a Python constructor
return super(AbstractOAuth2Manager, cls).__new__(cls)
Arguments:
user_creds (aiogoogle.auth.Creds): UserCreds with an ``access_token`` item
Returns:
None:
Raises:
aiogoogle.excs.AuthError:
"""
raise NotImplementedError
class AbstractOpenIdConnectManager(AbstractOAuth2Manager):
def __new__(cls, *args, **kwargs):
# Get all coros of this the abstract class
parent_abstract_coros = inspect.getmembers(
AbstractOpenIdConnectManager, predicate=inspect.iscoroutinefunction
)
# Ensure all relevant child methods are implemented as coros
for coro in parent_abstract_coros:
coro_name = coro[0]
child_method = getattr(cls, coro_name)
if not inspect.iscoroutinefunction(child_method):
raise RuntimeError(f"{child_method} must be a coroutine")
# Resume with normal behavior of a Python constructor
return super(AbstractOpenIdConnectManager, cls).__new__(cls)