Browse Source

add TODOs and resolve import problems

Bastien Sevajol 6 years ago
parent
commit
9e808fb078
1 changed files with 10 additions and 4 deletions
  1. 10 4
      hapic/ext/flask/context.py

+ 10 - 4
hapic/ext/flask/context.py View File

@@ -3,29 +3,32 @@ import json
3 3
 import typing
4 4
 from http import HTTPStatus
5 5
 
6
-from flask import request, Response
7
-
8
-
9 6
 from hapic.context import ContextInterface
10 7
 from hapic.exception import OutputValidationException
11 8
 from hapic.processor import RequestParameters, ProcessValidationError
12 9
 
10
+if typing.TYPE_CHECKING:
11
+    from flask import Response
12
+
13 13
 
14 14
 class FlaskContext(ContextInterface):
15 15
     def get_request_parameters(self, *args, **kwargs) -> RequestParameters:
16
+        from flask import request
16 17
         return RequestParameters(
17 18
             path_parameters=request.view_args,
18 19
             query_parameters=request.args,  # TODO: Check
19 20
             body_parameters=request.get_json(),  # TODO: Check
20 21
             form_parameters=request.form,
21 22
             header_parameters=request.headers,
23
+            files_parameters={},  # TODO: BS 20171115: Code it
22 24
         )
23 25
 
24 26
     def get_response(
25 27
         self,
26 28
         response: dict,
27 29
         http_code: int,
28
-    ) -> Response:
30
+    ) -> 'Response':
31
+        from flask import Response
29 32
         return Response(
30 33
             response=json.dumps(response),
31 34
             mimetype='application/json',
@@ -51,3 +54,6 @@ class FlaskContext(ContextInterface):
51 54
             mimetype='application/json',
52 55
             status=int(http_code),
53 56
         )
57
+
58
+# TODO BS 20171115: Implement other context methods
59
+# (take source in example_a_flask.py)