httpdbg 0.19.0__tar.gz → 0.22.0__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.
Files changed (70) hide show
  1. {httpdbg-0.19.0 → httpdbg-0.22.0}/PKG-INFO +7 -2
  2. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/__init__.py +1 -1
  3. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/api.js +3 -2
  4. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/filter.js +26 -1
  5. httpdbg-0.22.0/httpdbg/webapp/static/icons/chevron-direction-top-outline-icon.svg +1 -0
  6. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/index.htm +7 -1
  7. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/render.js +4 -0
  8. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/table.css +30 -0
  9. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg.egg-info/PKG-INFO +7 -2
  10. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg.egg-info/SOURCES.txt +1 -0
  11. {httpdbg-0.19.0 → httpdbg-0.22.0}/pyproject.toml +6 -1
  12. {httpdbg-0.19.0 → httpdbg-0.22.0}/LICENSE +0 -0
  13. {httpdbg-0.19.0 → httpdbg-0.22.0}/README.md +0 -0
  14. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/__main__.py +0 -0
  15. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/args.py +0 -0
  16. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/__init__.py +0 -0
  17. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/aiohttp.py +0 -0
  18. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/all.py +0 -0
  19. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/external.py +0 -0
  20. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/generic.py +0 -0
  21. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/httpx.py +0 -0
  22. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/requests.py +0 -0
  23. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/socket.py +0 -0
  24. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/urllib3.py +0 -0
  25. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/hooks/utils.py +0 -0
  26. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/initiator.py +0 -0
  27. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/mode_console.py +0 -0
  28. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/mode_module.py +0 -0
  29. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/mode_script.py +0 -0
  30. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/preview.py +0 -0
  31. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/records.py +0 -0
  32. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/server.py +0 -0
  33. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/utils.py +0 -0
  34. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/__init__.py +0 -0
  35. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/api.py +0 -0
  36. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/app.py +0 -0
  37. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/column.css +0 -0
  38. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/configuration.js +0 -0
  39. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/detail.css +0 -0
  40. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/favicon.ico +0 -0
  41. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/download-install-line-icon.svg +0 -0
  42. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/engine-gears-icon.svg +0 -0
  43. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/files-papers-outline-icon.svg +0 -0
  44. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/filter-outline-icon.svg +0 -0
  45. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/information-mark-circle-outline-icon.svg +0 -0
  46. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/math-multiplication-icon.svg +0 -0
  47. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/push-pin-green-icon.svg +0 -0
  48. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/question-mark-round-line-icon.svg +0 -0
  49. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/recycle-bin-line-icon.svg +0 -0
  50. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/icons/wait-sandclock-icon.svg +0 -0
  51. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/main.js +0 -0
  52. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/mustache.min.js +0 -0
  53. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg/webapp/static/style.css +0 -0
  54. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg.egg-info/dependency_links.txt +0 -0
  55. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg.egg-info/entry_points.txt +0 -0
  56. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg.egg-info/requires.txt +0 -0
  57. {httpdbg-0.19.0 → httpdbg-0.22.0}/httpdbg.egg-info/top_level.txt +0 -0
  58. {httpdbg-0.19.0 → httpdbg-0.22.0}/setup.cfg +0 -0
  59. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_api.py +0 -0
  60. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_cli.py +0 -0
  61. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_context_manager.py +0 -0
  62. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_hook_aiohttp.py +0 -0
  63. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_hook_httpx.py +0 -0
  64. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_hook_requests.py +0 -0
  65. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_hook_urllib3.py +0 -0
  66. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_initiator.py +0 -0
  67. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_mode_console.py +0 -0
  68. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_mode_module_pytest.py +0 -0
  69. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_mode_script.py +0 -0
  70. {httpdbg-0.19.0 → httpdbg-0.22.0}/tests/test_preview.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: httpdbg
3
- Version: 0.19.0
3
+ Version: 0.22.0
4
4
  Summary: A very simple tool to debug HTTP(S) client requests
5
5
  Author-email: cle-b <cle@tictac.pm>
6
6
  License: Apache-2.0
@@ -12,10 +12,15 @@ Classifier: Intended Audience :: Developers
12
12
  Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
15
20
  Classifier: Topic :: Internet :: WWW/HTTP
16
21
  Classifier: Topic :: Software Development :: Testing
17
22
  Classifier: Topic :: Utilities
18
- Requires-Python: >=3.6
23
+ Requires-Python: >=3.8
19
24
  Description-Content-Type: text/markdown
20
25
  License-File: LICENSE
21
26
  Provides-Extra: pytest
@@ -3,6 +3,6 @@ from httpdbg.hooks.all import httprecord
3
3
  from httpdbg.records import HTTPRecords
4
4
 
5
5
 
6
- __version__ = "0.19.0"
6
+ __version__ = "0.22.0"
7
7
 
8
8
  __all__ = ["httprecord", "HTTPRecords"]
@@ -3,7 +3,8 @@
3
3
  const global = {
4
4
  "k7": null,
5
5
  "requests": {},
6
- "connected": false
6
+ "connected": false,
7
+ "initiator_collapse": []
7
8
  }
8
9
 
9
10
  function save_request(request_id, request) {
@@ -113,7 +114,7 @@ async function get_request(request_id) {
113
114
  }
114
115
 
115
116
  // the full stack is not present in request summary
116
- global.requests[request_id].initiator = data.initiator;
117
+ global.requests[request_id].initiator = data.initiator;
117
118
 
118
119
  global.requests[request_id].to_refresh = true;
119
120
 
@@ -34,4 +34,29 @@ function update_filter_url() {
34
34
  sheet.insertRule(".initiator-header {display: table-row-group;}");
35
35
  }
36
36
  }
37
- }
37
+ }
38
+
39
+ function collapse_initiator(initiator_id, collapse) {
40
+ if (collapse) {
41
+ global.initiator_collapse.push(initiator_id);
42
+ } else {
43
+ let index = global.initiator_collapse.indexOf(initiator_id);
44
+ if (index !== -1) {
45
+ global.initiator_collapse.splice(index, 1);
46
+ }
47
+ }
48
+
49
+ update_collapse_initiator();
50
+ }
51
+
52
+ function update_collapse_initiator() {
53
+ var sheet = document.getElementById("collapseinitiatorcss").sheet;
54
+
55
+ while (sheet.cssRules.length > 0) {
56
+ sheet.deleteRule(0);
57
+ }
58
+
59
+ for (let initiator_id of global.initiator_collapse) {
60
+ sheet.insertRule('[data-initiator="' + initiator_id + '"] {display: none;}');
61
+ }
62
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 512 308.047"><path fill-rule="nonzero" d="M77.222 276.507c-18.424 10.426-32.947 12.317-42.803 9.097-4.006-1.309-7.158-3.499-9.364-6.27-2.203-2.767-3.539-6.172-3.91-9.906-.799-8.049 2.724-17.637 11.382-26.39.218-.22.423-.448.618-.682L225.082 42.061l.017.018C239.086 28.092 248.254 21.097 256 21.097c7.746 0 16.914 6.995 30.901 20.982.125.125.252.246.382.363l192.21 200.577-.02.019c8.659 8.754 12.181 18.341 11.382 26.39-.371 3.734-1.708 7.139-3.911 9.906-2.205 2.771-5.357 4.961-9.363 6.27-9.917 3.24-24.559 1.307-43.145-9.291l-.211-.116.005-.008-173.244-93.352a10.522 10.522 0 00-10.113.076L77.77 276.189c-.187.101-.37.208-.548.318zm-49.314 29.122c14.958 4.887 35.475 2.882 59.657-10.805L256 204.066l168.258 90.666.003-.006c24.258 13.776 44.837 15.802 59.831 10.903 8.092-2.643 14.611-7.259 19.335-13.192 4.727-5.937 7.584-13.136 8.36-20.95 1.384-13.94-3.951-29.771-17.315-43.283l-.018.018-191.981-200.34a10.776 10.776 0 00-.656-.719C283.709 9.055 270.566 0 256 0c-14.566 0-27.709 9.055-45.817 27.163l.019.019L17.953 227.798c-.145.131-.286.266-.425.406C4.164 241.715-1.171 257.547.213 271.487c.776 7.814 3.632 15.013 8.36 20.95 4.724 5.934 11.243 10.549 19.335 13.192z"/></svg>
@@ -17,6 +17,7 @@
17
17
  <style type="text/css" id="filter"></style>
18
18
  <style type="text/css" id="configurationcss"></style>
19
19
  <style type="text/css" id="serverstatuscss"></style>
20
+ <style type="text/css" id="collapseinitiatorcss"></style>
20
21
  <script src="static/mustache.min.js-+-$**HTTPDBG_VERSION**$"></script>
21
22
  <script src="static/main.js-+-$**HTTPDBG_VERSION**$"></script>
22
23
  <script src="static/api.js-+-$**HTTPDBG_VERSION**$"></script>
@@ -151,7 +152,11 @@
151
152
  <script id="template_initiator" type="x-tmpl-mustache">
152
153
  <tbody id="initiator-{{initiator.id}}" name="initiator" class="initiator-header">
153
154
  <tr class="initiator">
154
- <td colspan="4" class="initiator-label" title="{{initiator.long_label}}">
155
+ <td class="collapse" onclick="event.stopPropagation();">
156
+ <input class="collapse-checkbox" type="checkbox" id="collapse{{initiator.id}}" onclick="collapse_initiator('{{initiator.id}}',this.checked)">
157
+ <label class="collapse-icon" for="collapse{{initiator.id}}"><img class="icon" src="static/icons/chevron-direction-top-outline-icon.svg-+-$**HTTPDBG_VERSION**$" alt="click to collapse/expand"/></label>
158
+ </td>
159
+ <td colspan="3" class="initiator-label" title="{{initiator.long_label}}">
155
160
  {{initiator.short_label}}
156
161
  </td>
157
162
  </tr>
@@ -163,6 +168,7 @@
163
168
  data-filter-url="{{url}}"
164
169
  data-filter-request="{{request.for_filter}}"
165
170
  data-filter-response="{{response.for_filter}}"
171
+ data-initiator="{{initiator.id}}"
166
172
  onclick="select_request(arguments[0], '{{id}}')"
167
173
  onkeypress="shortcut_request(event, '{{id}}')"
168
174
  class="request"
@@ -292,6 +292,10 @@ function clean(force_clean = false) {
292
292
  for (const [request_id, request] of Object.entries(tmprequests)) {
293
293
  save_request(request_id, request);
294
294
  };
295
+
296
+ global.initiator_collapse = [];
297
+
298
+ update_collapse_initiator();
295
299
  }
296
300
  }
297
301
 
@@ -74,6 +74,10 @@
74
74
  display: none;
75
75
  }
76
76
 
77
+ .initiator {
78
+ background-color: var(--table-initiator);
79
+ }
80
+
77
81
  .request {
78
82
  display: none;
79
83
  }
@@ -108,4 +112,30 @@
108
112
 
109
113
  .icon-filter {
110
114
  filter: grayscale(100%);
115
+ }
116
+
117
+
118
+ .collapse {
119
+ width: 16px;
120
+ padding: 2px !important;
121
+ transform: rotate(180deg);
122
+ background-color: var(--table-initiator);
123
+ opacity: 0.4;
124
+ }
125
+
126
+ .collapse-checkbox {
127
+ display: none;
128
+ }
129
+
130
+ .collapse-checkbox:checked+label {
131
+ filter: none !important;
132
+ }
133
+
134
+ .collapse-checkbox:checked+label img {
135
+ transform: rotate(-90deg);
136
+ }
137
+
138
+ .collapse-icon {
139
+ width: 16px;
140
+ padding: 0px !important;
111
141
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: httpdbg
3
- Version: 0.19.0
3
+ Version: 0.22.0
4
4
  Summary: A very simple tool to debug HTTP(S) client requests
5
5
  Author-email: cle-b <cle@tictac.pm>
6
6
  License: Apache-2.0
@@ -12,10 +12,15 @@ Classifier: Intended Audience :: Developers
12
12
  Classifier: License :: OSI Approved :: Apache Software License
13
13
  Classifier: Operating System :: OS Independent
14
14
  Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
15
20
  Classifier: Topic :: Internet :: WWW/HTTP
16
21
  Classifier: Topic :: Software Development :: Testing
17
22
  Classifier: Topic :: Utilities
18
- Requires-Python: >=3.6
23
+ Requires-Python: >=3.8
19
24
  Description-Content-Type: text/markdown
20
25
  License-File: LICENSE
21
26
  Provides-Extra: pytest
@@ -44,6 +44,7 @@ httpdbg/webapp/static/mustache.min.js
44
44
  httpdbg/webapp/static/render.js
45
45
  httpdbg/webapp/static/style.css
46
46
  httpdbg/webapp/static/table.css
47
+ httpdbg/webapp/static/icons/chevron-direction-top-outline-icon.svg
47
48
  httpdbg/webapp/static/icons/download-install-line-icon.svg
48
49
  httpdbg/webapp/static/icons/engine-gears-icon.svg
49
50
  httpdbg/webapp/static/icons/files-papers-outline-icon.svg
@@ -9,7 +9,7 @@ authors = [
9
9
  ]
10
10
  description="A very simple tool to debug HTTP(S) client requests"
11
11
  readme="README.md"
12
- requires-python = ">=3.6"
12
+ requires-python = ">=3.8"
13
13
  license = {text = "Apache-2.0"}
14
14
  classifiers = [
15
15
  "Development Status :: 4 - Beta",
@@ -18,6 +18,11 @@ classifiers = [
18
18
  "License :: OSI Approved :: Apache Software License",
19
19
  "Operating System :: OS Independent",
20
20
  "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.8",
22
+ "Programming Language :: Python :: 3.9",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
21
26
  "Topic :: Internet :: WWW/HTTP",
22
27
  "Topic :: Software Development :: Testing",
23
28
  "Topic :: Utilities",
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