httpdbg 2.1.5__tar.gz → 2.1.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {httpdbg-2.1.5 → httpdbg-2.1.7}/PKG-INFO +5 -4
- {httpdbg-2.1.5 → httpdbg-2.1.7}/README.md +4 -3
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/__init__.py +1 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/args.py +4 -4
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/exception.py +0 -3
- httpdbg-2.1.7/httpdbg/hooks/__init__.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/external.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/fastapi.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/flask.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/pytest.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/starlette.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/unittest.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/utils.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/initiator.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/mode_console.py +6 -3
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/mode_module.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/mode_script.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/server.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/utils.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/api.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg.egg-info/PKG-INFO +5 -4
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_api.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_cli.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_context_manager.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_hook_aiohttp.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_hook_httpx.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_hook_pytest.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_hook_requests.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_hook_unittest.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_hook_urllib3.py +1 -4
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_initiator.py +14 -15
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_mode_console.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_mode_module_pytest.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_mode_script.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_preview.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_pyhttpdbg_server.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_server.py +0 -1
- httpdbg-2.1.5/httpdbg/hooks/__init__.py +0 -1
- {httpdbg-2.1.5 → httpdbg-2.1.7}/LICENSE +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/__main__.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/env.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/export.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/aiohttp.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/all.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/generic.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/h2.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/http.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/httpx.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/record.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/recordhttp1.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/recordhttp2.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/requests.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/socket.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/template_sitecustomize.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/urllib3.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/hooks/uvicorn.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/http_status_code.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/log.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/preview.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/records.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/__init__.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/app.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/api.js +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/column.css +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/configuration.css +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/configuration.js +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/detail.css +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/favicon.ico +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/filter.js +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/chevron-direction-top-outline-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/download-install-line-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/engine-gears-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/eye-blind-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/eye-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/files-papers-outline-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/filter-outline-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/lock-line-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/lock-open-line-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/math-multiplication-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/push-pin-green-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/question-mark-round-line-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/recycle-bin-line-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/wait-sandclock-icon.svg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/index.htm +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/main.js +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/mustache.min.js +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/render.js +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/style.css +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/table.css +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg.egg-info/SOURCES.txt +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg.egg-info/dependency_links.txt +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg.egg-info/entry_points.txt +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg.egg-info/top_level.txt +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/pyproject.toml +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/setup.cfg +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_hook_h2.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_multiprocess.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_server_hook_fastapi.py +0 -0
- {httpdbg-2.1.5 → httpdbg-2.1.7}/tests/test_server_hook_flask.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: httpdbg
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.7
|
|
4
4
|
Summary: A very simple tool to debug HTTP(S) client and server requests.
|
|
5
5
|
Author-email: cle-b <cle@tictac.pm>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -194,10 +194,11 @@ options:
|
|
|
194
194
|
--force-quit, -q stop the server even if the requests have not been read
|
|
195
195
|
--export-html EXPORT_HTML
|
|
196
196
|
the path to the export file
|
|
197
|
-
--
|
|
197
|
+
--no-banner do not print the banner in the console
|
|
198
|
+
--console run a Python console (default)
|
|
198
199
|
--module MODULE, -m MODULE
|
|
199
|
-
run
|
|
200
|
-
--script SCRIPT run a script (
|
|
200
|
+
run a Python module (like 'python -m'; remaining arguments are passed to the module)
|
|
201
|
+
--script SCRIPT run a Python script (remaining arguments are passed to the script)
|
|
201
202
|
```
|
|
202
203
|
|
|
203
204
|
### web interace
|
|
@@ -168,10 +168,11 @@ options:
|
|
|
168
168
|
--force-quit, -q stop the server even if the requests have not been read
|
|
169
169
|
--export-html EXPORT_HTML
|
|
170
170
|
the path to the export file
|
|
171
|
-
--
|
|
171
|
+
--no-banner do not print the banner in the console
|
|
172
|
+
--console run a Python console (default)
|
|
172
173
|
--module MODULE, -m MODULE
|
|
173
|
-
run
|
|
174
|
-
--script SCRIPT run a script (
|
|
174
|
+
run a Python module (like 'python -m'; remaining arguments are passed to the module)
|
|
175
|
+
--script SCRIPT run a Python script (remaining arguments are passed to the script)
|
|
175
176
|
```
|
|
176
177
|
|
|
177
178
|
### web interace
|
|
@@ -70,7 +70,7 @@ def read_args(args: list[str]) -> tuple[argparse.Namespace, list[str]]:
|
|
|
70
70
|
help="The log level",
|
|
71
71
|
)
|
|
72
72
|
|
|
73
|
-
parser.add_argument("--log", type=Path, help="path to the log file
|
|
73
|
+
parser.add_argument("--log", type=Path, help="path to the log file")
|
|
74
74
|
|
|
75
75
|
parser.add_argument(
|
|
76
76
|
"--no-banner",
|
|
@@ -81,20 +81,20 @@ def read_args(args: list[str]) -> tuple[argparse.Namespace, list[str]]:
|
|
|
81
81
|
actions = parser.add_mutually_exclusive_group()
|
|
82
82
|
|
|
83
83
|
actions.add_argument(
|
|
84
|
-
"--console", action="store_true", help="run a
|
|
84
|
+
"--console", action="store_true", help="run a Python console (default)"
|
|
85
85
|
)
|
|
86
86
|
|
|
87
87
|
actions.add_argument(
|
|
88
88
|
"--module",
|
|
89
89
|
"-m",
|
|
90
90
|
type=str,
|
|
91
|
-
help="run
|
|
91
|
+
help="run a Python module (like 'python -m'; remaining arguments are passed to the module)",
|
|
92
92
|
)
|
|
93
93
|
|
|
94
94
|
actions.add_argument(
|
|
95
95
|
"--script",
|
|
96
96
|
type=str,
|
|
97
|
-
help="run a script (
|
|
97
|
+
help="run a Python script (remaining arguments are passed to the script)",
|
|
98
98
|
)
|
|
99
99
|
|
|
100
100
|
return parser.parse_args(httpdbg_args), client_args
|
|
File without changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
import code
|
|
2
|
+
from typing import Optional
|
|
3
3
|
from typing import Union
|
|
4
4
|
|
|
5
5
|
from httpdbg.records import HTTPRecords
|
|
@@ -18,7 +18,7 @@ class InteractiveConsoleWithHistory(code.InteractiveConsole):
|
|
|
18
18
|
self.incomplete_block: bool = False
|
|
19
19
|
super().__init__(locals)
|
|
20
20
|
|
|
21
|
-
def push(self, line):
|
|
21
|
+
def push(self, line: str, filename: Optional[str] = None) -> bool:
|
|
22
22
|
if line: # if the line is empty, we don't add it in the history
|
|
23
23
|
if (
|
|
24
24
|
self.incomplete_block
|
|
@@ -43,7 +43,10 @@ class InteractiveConsoleWithHistory(code.InteractiveConsole):
|
|
|
43
43
|
full_label = ">>> " + "\n>>> ".join(latest_history)
|
|
44
44
|
|
|
45
45
|
with httpdbg_group(self.records, label, full_label):
|
|
46
|
-
|
|
46
|
+
if filename is None:
|
|
47
|
+
self.incomplete_block = super().push(line)
|
|
48
|
+
else:
|
|
49
|
+
self.incomplete_block = super().push(line, filename)
|
|
47
50
|
|
|
48
51
|
return self.incomplete_block
|
|
49
52
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: httpdbg
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.7
|
|
4
4
|
Summary: A very simple tool to debug HTTP(S) client and server requests.
|
|
5
5
|
Author-email: cle-b <cle@tictac.pm>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -194,10 +194,11 @@ options:
|
|
|
194
194
|
--force-quit, -q stop the server even if the requests have not been read
|
|
195
195
|
--export-html EXPORT_HTML
|
|
196
196
|
the path to the export file
|
|
197
|
-
--
|
|
197
|
+
--no-banner do not print the banner in the console
|
|
198
|
+
--console run a Python console (default)
|
|
198
199
|
--module MODULE, -m MODULE
|
|
199
|
-
run
|
|
200
|
-
--script SCRIPT run a script (
|
|
200
|
+
run a Python module (like 'python -m'; remaining arguments are passed to the module)
|
|
201
|
+
--script SCRIPT run a Python script (remaining arguments are passed to the script)
|
|
201
202
|
```
|
|
202
203
|
|
|
203
204
|
### web interace
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
import json
|
|
3
2
|
from packaging import version
|
|
4
|
-
import pkg_resources
|
|
5
3
|
|
|
6
4
|
import pytest
|
|
7
5
|
import urllib3
|
|
@@ -246,8 +244,7 @@ def test_urllib3_get_empty_request_content(httpbin_both):
|
|
|
246
244
|
@pytest.mark.initiator
|
|
247
245
|
@pytest.mark.urllib3
|
|
248
246
|
@pytest.mark.skipif(
|
|
249
|
-
version.parse(
|
|
250
|
-
< version.parse("2.0.0"),
|
|
247
|
+
version.parse(urllib3.__version__) < version.parse("2.0.0"),
|
|
251
248
|
reason="only urllib3 v2",
|
|
252
249
|
)
|
|
253
250
|
def test_urllib3_v2_request(httpbin):
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
import asyncio
|
|
3
2
|
import platform
|
|
4
3
|
|
|
@@ -24,8 +23,8 @@ def test_initiator_script(httpbin):
|
|
|
24
23
|
assert initiator.label == 'requests.get(f"{httpbin.url}/get")'
|
|
25
24
|
|
|
26
25
|
assert (
|
|
27
|
-
'''test_initiator.py", line
|
|
28
|
-
|
|
26
|
+
'''test_initiator.py", line 18, in test_initiator_script
|
|
27
|
+
18. requests.get(f"{httpbin.url}/get")
|
|
29
28
|
----------
|
|
30
29
|
requests.api.get(
|
|
31
30
|
url="'''
|
|
@@ -35,18 +34,18 @@ requests.api.get(
|
|
|
35
34
|
in initiator.short_stack
|
|
36
35
|
)
|
|
37
36
|
|
|
38
|
-
full_stack_ref = """test_initiator.py", line
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
full_stack_ref = """test_initiator.py", line 18,
|
|
38
|
+
14. @pytest.mark.initiator
|
|
39
|
+
15. def test_initiator_script(httpbin):
|
|
40
|
+
16.
|
|
41
|
+
17. with httprecord() as records:
|
|
42
|
+
18. requests.get(f"{httpbin.url}/get") <====
|
|
43
|
+
19.
|
|
44
|
+
20. assert len(records) == 1
|
|
45
|
+
21. initiator = records.initiators[records[0].initiator_id]
|
|
46
|
+
22.
|
|
47
|
+
23. assert initiator.label == 'requests.get(f"{httpbin.url}/get")'
|
|
48
|
+
24.""" # noqa W291
|
|
50
49
|
full_stack = initiator.stack[0]
|
|
51
50
|
assert (
|
|
52
51
|
full_stack_ref in full_stack
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/chevron-direction-top-outline-icon.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{httpdbg-2.1.5 → httpdbg-2.1.7}/httpdbg/webapp/static/icons/question-mark-round-line-icon.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|