Coverage for hookee/plugins/response_info.py: 100.00%

19 statements  

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

1from hookee.pluginmanager import RESPONSE_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 = RESPONSE_PLUGIN 

9description = "Print the `response`'s status code, headers, and body, if defined." 

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, response): 

21 print_util.print_basic("Status Code: {}".format(response.status_code), color=print_util.request_color) 

22 if response.headers: 

23 print_util.print_dict("Headers", dict(response.headers), color=print_util.request_color) 

24 if response.data: 

25 if response.is_json: 

26 print_util.print_dict("Body", response.get_json(), color=print_util.request_color) 

27 else: 

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

29 

30 return response