Coverage for hookee/plugins/request_body.py: 95.00%

20 statements  

« prev     ^ index     » next       coverage.py v7.4.1, created at 2024-02-03 17:27 +0000

1from hookee.pluginmanager import REQUEST_PLUGIN 

2from hookee.util import PrintUtil 

3 

4__author__ = "Alex Laird" 

5__copyright__ = "Copyright 2023, Alex Laird" 

6__version__ = "1.2.2" 

7 

8plugin_type = REQUEST_PLUGIN 

9description = "Print the `request`'s body, if defined, and attempt to identify the body type." 

10 

11print_util = None # type: PrintUtil 

12 

13 

14def setup(hookee_manager): 

15 global print_util 

16 

17 print_util = hookee_manager.print_util 

18 

19 

20def run(request): 

21 if request.is_json: 

22 print_util.print_basic("Body Type: JSON", color=print_util.request_color) 

23 print_util.print_dict("Body", dict(request.json), color=print_util.request_color) 

24 elif request.form and not request.data: 

25 print_util.print_basic("Body Type: FORM") 

26 print_util.print_dict("Body", dict(request.form), color=print_util.request_color) 

27 elif request.data: 

28 print_util.print_basic("Body: {}".format(request.data.decode("utf-8")), color=print_util.request_color) 

29 

30 return request