Files
fastapi-users/fastapi_users/authentication/transport/base.py
François Voron 8fd097cbc8 Revamp Transport so they always build a full Response object (#1049)
* Revamp Transport so they always build a full Response object

* Fix linting

* Add private methods to set cookies on CookieTransport

* Change on_after_login login_return parameter to response
2023-04-27 09:32:49 +02:00

36 lines
1005 B
Python

import sys
if sys.version_info < (3, 8):
from typing_extensions import Protocol # pragma: no cover
else:
from typing import Protocol # pragma: no cover
from fastapi import Response
from fastapi.security.base import SecurityBase
from fastapi_users.openapi import OpenAPIResponseType
class TransportLogoutNotSupportedError(Exception):
pass
class Transport(Protocol):
scheme: SecurityBase
async def get_login_response(self, token: str) -> Response:
... # pragma: no cover
async def get_logout_response(self) -> Response:
... # pragma: no cover
@staticmethod
def get_openapi_login_responses_success() -> OpenAPIResponseType:
"""Return a dictionary to use for the openapi responses route parameter."""
... # pragma: no cover
@staticmethod
def get_openapi_logout_responses_success() -> OpenAPIResponseType:
"""Return a dictionary to use for the openapi responses route parameter."""
... # pragma: no cover