deep_request.py 937 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. class deep_request:
  2. """
  3. This class is responsible for processing requests betwen
  4. fastapi endpoints and apps.
  5. """
  6. def __init__(self, params: dict) -> None:
  7. """
  8. This create new request.
  9. Params:
  10. params (dict): Request dict from endpoint
  11. """
  12. self.__params = params.copy()
  13. @property
  14. def _params(self) -> dict:
  15. """ This return params for child class. """
  16. return self.__params
  17. def __getattr__(self, key: str) -> None | str | int | float:
  18. """
  19. This trying to load key from request. When key could not being
  20. found, then return None.
  21. Params:
  22. key (str): Key to load from request
  23. Returns:
  24. (None | str | int | float): Return key from request
  25. """
  26. if not key in self._params:
  27. return None
  28. return self._params[key]