description.py 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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 InputFilesDescription(Description):
  19. pass
  20. class OutputBodyDescription(Description):
  21. pass
  22. class OutputFileDescription(Description):
  23. pass
  24. class OutputHeadersDescription(Description):
  25. pass
  26. class ErrorDescription(Description):
  27. pass
  28. class ControllerDescription(object):
  29. def __init__(
  30. self,
  31. input_path: InputPathDescription=None,
  32. input_query: InputQueryDescription=None,
  33. input_body: InputBodyDescription=None,
  34. input_headers: InputHeadersDescription=None,
  35. input_forms: InputFormsDescription=None,
  36. input_files: InputFilesDescription=None,
  37. output_body: OutputBodyDescription=None,
  38. output_file: OutputFileDescription=None,
  39. output_headers: OutputHeadersDescription=None,
  40. errors: typing.List[ErrorDescription]=None,
  41. ):
  42. self.input_path = input_path
  43. self.input_query = input_query
  44. self.input_body = input_body
  45. self.input_headers = input_headers
  46. self.input_forms = input_forms
  47. self.input_files = input_files
  48. self.output_body = output_body
  49. self.output_file = output_file
  50. self.output_headers = output_headers
  51. self.errors = errors or []