description.py 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # -*- coding: utf-8 -*-
  2. import typing
  3. if typing.TYPE_CHECKING:
  4. from hapic.decorator import ControllerWrapper
  5. class Description(object):
  6. def __init__(self, wrapper: 'ControllerWrapper') -> None:
  7. self.wrapper = wrapper
  8. class InputPathDescription(Description):
  9. pass
  10. class InputQueryDescription(Description):
  11. pass
  12. class InputBodyDescription(Description):
  13. pass
  14. class InputHeadersDescription(Description):
  15. pass
  16. class InputFormsDescription(Description):
  17. pass
  18. class OutputBodyDescription(Description):
  19. pass
  20. class OutputHeadersDescription(Description):
  21. pass
  22. class ErrorDescription(Description):
  23. pass
  24. class ControllerDescription(object):
  25. def __init__(
  26. self,
  27. input_path: InputPathDescription=None,
  28. input_query: InputQueryDescription=None,
  29. input_body: InputBodyDescription=None,
  30. input_headers: InputHeadersDescription=None,
  31. input_forms: InputFormsDescription=None,
  32. output_body: OutputBodyDescription=None,
  33. output_headers: OutputHeadersDescription=None,
  34. errors: typing.List[ErrorDescription]=None,
  35. ):
  36. self.input_path = input_path
  37. self.input_query = input_query
  38. self.input_body = input_body
  39. self.input_headers = input_headers
  40. self.input_forms = input_forms
  41. self.output_body = output_body
  42. self.output_headers = output_headers
  43. self.errors = errors or []