|
@@ -19,6 +19,7 @@ from hapic.decorator import InputHeadersControllerWrapper
|
19
|
19
|
from hapic.decorator import InputPathControllerWrapper
|
20
|
20
|
from hapic.decorator import AsyncInputPathControllerWrapper
|
21
|
21
|
from hapic.decorator import InputQueryControllerWrapper
|
|
22
|
+from hapic.decorator import AsyncInputQueryControllerWrapper
|
22
|
23
|
from hapic.decorator import InputFilesControllerWrapper
|
23
|
24
|
from hapic.decorator import OutputBodyControllerWrapper
|
24
|
25
|
from hapic.decorator import OutputHeadersControllerWrapper
|
|
@@ -238,10 +239,10 @@ class Hapic(object):
|
238
|
239
|
context = context or self._context_getter
|
239
|
240
|
|
240
|
241
|
decoration = self._get_input_path_controller_wrapper(
|
241
|
|
- processor,
|
242
|
|
- context,
|
243
|
|
- error_http_code,
|
244
|
|
- default_http_code,
|
|
242
|
+ context=context,
|
|
243
|
+ processor=processor,
|
|
244
|
+ error_http_code=error_http_code,
|
|
245
|
+ default_http_code=default_http_code,
|
245
|
246
|
)
|
246
|
247
|
|
247
|
248
|
def decorator(func):
|
|
@@ -262,7 +263,7 @@ class Hapic(object):
|
262
|
263
|
processor.schema = schema
|
263
|
264
|
context = context or self._context_getter
|
264
|
265
|
|
265
|
|
- decoration = InputQueryControllerWrapper(
|
|
266
|
+ decoration = self._get_input_query_controller_wrapper(
|
266
|
267
|
context=context,
|
267
|
268
|
processor=processor,
|
268
|
269
|
error_http_code=error_http_code,
|
|
@@ -511,3 +512,30 @@ class Hapic(object):
|
511
|
512
|
error_http_code=error_http_code,
|
512
|
513
|
default_http_code=default_http_code,
|
513
|
514
|
)
|
|
515
|
+
|
|
516
|
+ def _get_input_query_controller_wrapper(
|
|
517
|
+ self,
|
|
518
|
+ processor: ProcessorInterface,
|
|
519
|
+ context: ContextInterface,
|
|
520
|
+ error_http_code: HTTPStatus = HTTPStatus.BAD_REQUEST,
|
|
521
|
+ default_http_code: HTTPStatus = HTTPStatus.OK,
|
|
522
|
+ as_list: typing.List[str]=None,
|
|
523
|
+ ) -> typing.Union[
|
|
524
|
+ InputQueryControllerWrapper,
|
|
525
|
+ AsyncInputQueryControllerWrapper,
|
|
526
|
+ ]:
|
|
527
|
+ if not self._async:
|
|
528
|
+ return InputQueryControllerWrapper(
|
|
529
|
+ context=context,
|
|
530
|
+ processor=processor,
|
|
531
|
+ error_http_code=error_http_code,
|
|
532
|
+ default_http_code=default_http_code,
|
|
533
|
+ as_list=as_list,
|
|
534
|
+ )
|
|
535
|
+ return AsyncInputQueryControllerWrapper(
|
|
536
|
+ context=context,
|
|
537
|
+ processor=processor,
|
|
538
|
+ error_http_code=error_http_code,
|
|
539
|
+ default_http_code=default_http_code,
|
|
540
|
+ as_list=as_list,
|
|
541
|
+ )
|