stoobly-agent 1.3.0__py3-none-any.whl → 1.4.0__py3-none-any.whl
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.
- stoobly_agent/__init__.py +1 -1
- stoobly_agent/app/api/application_http_request_handler.py +3 -3
- stoobly_agent/app/api/proxy_controller.py +8 -7
- stoobly_agent/app/cli/config_cli.py +1 -1
- stoobly_agent/app/cli/helpers/certificate_authority.py +6 -1
- stoobly_agent/app/cli/helpers/print_service.py +17 -0
- stoobly_agent/app/cli/scaffold/app.py +2 -2
- stoobly_agent/app/cli/scaffold/constants.py +0 -2
- stoobly_agent/app/cli/scaffold/hosts_file_manager.py +112 -0
- stoobly_agent/app/cli/scaffold/service.py +0 -1
- stoobly_agent/app/cli/scaffold/service_config.py +10 -14
- stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py +3 -3
- stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context +1 -1
- stoobly_agent/app/cli/scaffold/templates/app/.Makefile +77 -53
- stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.services +9 -0
- stoobly_agent/app/cli/scaffold/workflow_create_command.py +0 -1
- stoobly_agent/app/cli/scaffold/workflow_run_command.py +6 -9
- stoobly_agent/app/cli/scaffold_cli.py +200 -69
- stoobly_agent/app/cli/snapshot_cli.py +1 -1
- stoobly_agent/app/proxy/handle_mock_service.py +2 -0
- stoobly_agent/app/proxy/handle_replay_service.py +2 -0
- stoobly_agent/app/proxy/mitmproxy/request_facade.py +1 -1
- stoobly_agent/app/proxy/mitmproxy/response_body_facade.py +19 -0
- stoobly_agent/app/proxy/mitmproxy/response_facade.py +90 -18
- stoobly_agent/app/proxy/record/join_request_service.py +1 -1
- stoobly_agent/app/settings/constants/request_component.py +2 -1
- stoobly_agent/config/constants/custom_headers.py +13 -13
- stoobly_agent/config/constants/headers.py +0 -2
- stoobly_agent/public/18-es2015.583f191cc7ad512ee262.js +1 -0
- stoobly_agent/public/18-es5.583f191cc7ad512ee262.js +1 -0
- stoobly_agent/public/35-es2015.8f79ff8748d4ff06ab03.js +1 -0
- stoobly_agent/public/35-es5.8f79ff8748d4ff06ab03.js +1 -0
- stoobly_agent/public/index.html +1 -1
- stoobly_agent/public/main-es2015.2cc16523aa3fcaba51e5.js +1 -0
- stoobly_agent/public/main-es5.2cc16523aa3fcaba51e5.js +1 -0
- stoobly_agent/public/{runtime-es2015.9addf49b79aca951b7e2.js → runtime-es2015.b914470164e4d6e75d96.js} +1 -1
- stoobly_agent/public/{runtime-es5.9addf49b79aca951b7e2.js → runtime-es5.b914470164e4d6e75d96.js} +1 -1
- stoobly_agent/test/app/cli/scaffold/{hosts_file_reader_test.py → hosts_file_manager_test.py} +20 -20
- stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION +1 -1
- {stoobly_agent-1.3.0.dist-info → stoobly_agent-1.4.0.dist-info}/METADATA +1 -1
- {stoobly_agent-1.3.0.dist-info → stoobly_agent-1.4.0.dist-info}/RECORD +44 -42
- stoobly_agent/app/cli/scaffold/hosts_file_reader.py +0 -65
- stoobly_agent/public/18-es2015.d3b430636a4d6f544d92.js +0 -1
- stoobly_agent/public/18-es5.d3b430636a4d6f544d92.js +0 -1
- stoobly_agent/public/35-es2015.f741ebce0bfc25f0ec99.js +0 -1
- stoobly_agent/public/35-es5.f741ebce0bfc25f0ec99.js +0 -1
- stoobly_agent/public/main-es2015.ccd46ac1b6638ddf2066.js +0 -1
- stoobly_agent/public/main-es5.ccd46ac1b6638ddf2066.js +0 -1
- {stoobly_agent-1.3.0.dist-info → stoobly_agent-1.4.0.dist-info}/LICENSE +0 -0
- {stoobly_agent-1.3.0.dist-info → stoobly_agent-1.4.0.dist-info}/WHEEL +0 -0
- {stoobly_agent-1.3.0.dist-info → stoobly_agent-1.4.0.dist-info}/entry_points.txt +0 -0
@@ -1 +1 @@
|
|
1
|
-
!function(e){function r(r){for(var
|
1
|
+
!function(e){function r(r){for(var a,f,o=r[0],b=r[1],d=r[2],i=0,l=[];i<o.length;i++)f=o[i],Object.prototype.hasOwnProperty.call(c,f)&&c[f]&&l.push(c[f][0]),c[f]=0;for(a in b)Object.prototype.hasOwnProperty.call(b,a)&&(e[a]=b[a]);for(u&&u(r);l.length;)l.shift()();return n.push.apply(n,d||[]),t()}function t(){for(var e,r=0;r<n.length;r++){for(var t=n[r],a=!0,o=1;o<t.length;o++)0!==c[t[o]]&&(a=!1);a&&(n.splice(r--,1),e=f(f.s=t[0]))}return e}var a={},c={11:0},n=[];function f(r){if(a[r])return a[r].exports;var t=a[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.e=function(e){var r=[],t=c[e];if(0!==t)if(t)r.push(t[2]);else{var a=new Promise(function(r,a){t=c[e]=[r,a]});r.push(t[2]=a);var n,o=document.createElement("script");o.charset="utf-8",o.timeout=120,f.nc&&o.setAttribute("nonce",f.nc),o.src=function(e){return f.p+""+({3:"common"}[e]||e)+"-es2015."+{0:"c7c5a6d51b98cb85b9fc",1:"bb4492eeabe1fe937ada",2:"51eb8544ea9a21f2874c",3:"388805227aa99c527fba",4:"f8ac5475bf103969b2d2",5:"90ea7bd4439d9749e052",6:"5fb726c0555664300974",7:"19ccb84e62e2ea874f53",8:"b901639e2aeff1358c3d",9:"b7bcad8238f58e214f03",10:"56da22458086513ba0c7",12:"be58ed0ef449008b932e",13:"343b0261a8b3b3f4a1fc",14:"b6619d7742671d2a37fb",15:"d8855701408b0e1d7a3e",16:"98fa59c2c96d2caac3c3",17:"7f60b56d1fd66d4d5544",18:"583f191cc7ad512ee262",19:"78ec0e9fd228b5104712",20:"90544c488f1f0900bab4",21:"63ed4e6b242fbc047bd6",22:"1e96ef651f96d51191e2",23:"6d3052555b4fac38f16d",28:"a2bf42f38e4dd771ccea",29:"18b515f07c88753c7eb6",30:"d4d3dc4101400cadf3f3",31:"e3ea815f75c19c217b7d",32:"57553995bff0ae518501",33:"da5ba1e5baa164921198",34:"87acbb95cfb824650157",35:"8f79ff8748d4ff06ab03",36:"e3a104020eeec02cb8c4",37:"3b472e6cf303201bbf2c",38:"39dbf43d46cdc94f78c6",39:"e5475ea4fb6ec5c60741",40:"47b2873a8439717af6a7",41:"69f2771002745c066976",42:"b590b92ede890155dcd6",43:"ad1d956bffba561ba64c",44:"3ef2c17996ed5be95ced",45:"3d65d27e0a7085e96356",46:"e4f0a5b127eae13c27c0",47:"c7d45334a70131f133b5"}[e]+".js"}(e);var b=new Error;n=function(r){o.onerror=o.onload=null,clearTimeout(d);var t=c[e];if(0!==t){if(t){var a=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;b.message="Loading chunk "+e+" failed.\n("+a+": "+n+")",b.name="ChunkLoadError",b.type=a,b.request=n,t[1](b)}c[e]=void 0}};var d=setTimeout(function(){n({type:"timeout",target:o})},12e4);o.onerror=o.onload=n,document.head.appendChild(o)}return Promise.all(r)},f.m=e,f.c=a,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var a in e)f.d(t,a,(function(r){return e[r]}).bind(null,a));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="",f.oe=function(e){throw console.error(e),e};var o=window.webpackJsonp=window.webpackJsonp||[],b=o.push.bind(o);o.push=r,o=o.slice();for(var d=0;d<o.length;d++)r(o[d]);var u=b;t()}([]);
|
stoobly_agent/public/{runtime-es5.9addf49b79aca951b7e2.js → runtime-es5.b914470164e4d6e75d96.js}
RENAMED
@@ -1 +1 @@
|
|
1
|
-
!function(e){function r(r){for(var
|
1
|
+
!function(e){function r(r){for(var a,f,o=r[0],b=r[1],d=r[2],i=0,l=[];i<o.length;i++)f=o[i],Object.prototype.hasOwnProperty.call(c,f)&&c[f]&&l.push(c[f][0]),c[f]=0;for(a in b)Object.prototype.hasOwnProperty.call(b,a)&&(e[a]=b[a]);for(u&&u(r);l.length;)l.shift()();return n.push.apply(n,d||[]),t()}function t(){for(var e,r=0;r<n.length;r++){for(var t=n[r],a=!0,o=1;o<t.length;o++)0!==c[t[o]]&&(a=!1);a&&(n.splice(r--,1),e=f(f.s=t[0]))}return e}var a={},c={11:0},n=[];function f(r){if(a[r])return a[r].exports;var t=a[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.e=function(e){var r=[],t=c[e];if(0!==t)if(t)r.push(t[2]);else{var a=new Promise(function(r,a){t=c[e]=[r,a]});r.push(t[2]=a);var n,o=document.createElement("script");o.charset="utf-8",o.timeout=120,f.nc&&o.setAttribute("nonce",f.nc),o.src=function(e){return f.p+""+({3:"common"}[e]||e)+"-es5."+{0:"c7c5a6d51b98cb85b9fc",1:"bb4492eeabe1fe937ada",2:"51eb8544ea9a21f2874c",3:"388805227aa99c527fba",4:"f8ac5475bf103969b2d2",5:"90ea7bd4439d9749e052",6:"5fb726c0555664300974",7:"19ccb84e62e2ea874f53",8:"b901639e2aeff1358c3d",9:"b7bcad8238f58e214f03",10:"56da22458086513ba0c7",12:"be58ed0ef449008b932e",13:"343b0261a8b3b3f4a1fc",14:"b6619d7742671d2a37fb",15:"d8855701408b0e1d7a3e",16:"98fa59c2c96d2caac3c3",17:"7f60b56d1fd66d4d5544",18:"583f191cc7ad512ee262",19:"78ec0e9fd228b5104712",20:"90544c488f1f0900bab4",21:"63ed4e6b242fbc047bd6",22:"1e96ef651f96d51191e2",23:"6d3052555b4fac38f16d",28:"a2bf42f38e4dd771ccea",29:"18b515f07c88753c7eb6",30:"d4d3dc4101400cadf3f3",31:"e3ea815f75c19c217b7d",32:"57553995bff0ae518501",33:"da5ba1e5baa164921198",34:"87acbb95cfb824650157",35:"8f79ff8748d4ff06ab03",36:"e3a104020eeec02cb8c4",37:"3b472e6cf303201bbf2c",38:"39dbf43d46cdc94f78c6",39:"e5475ea4fb6ec5c60741",40:"47b2873a8439717af6a7",41:"69f2771002745c066976",42:"b590b92ede890155dcd6",43:"ad1d956bffba561ba64c",44:"3ef2c17996ed5be95ced",45:"3d65d27e0a7085e96356",46:"e4f0a5b127eae13c27c0",47:"c7d45334a70131f133b5"}[e]+".js"}(e);var b=new Error;n=function(r){o.onerror=o.onload=null,clearTimeout(d);var t=c[e];if(0!==t){if(t){var a=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;b.message="Loading chunk "+e+" failed.\n("+a+": "+n+")",b.name="ChunkLoadError",b.type=a,b.request=n,t[1](b)}c[e]=void 0}};var d=setTimeout(function(){n({type:"timeout",target:o})},12e4);o.onerror=o.onload=n,document.head.appendChild(o)}return Promise.all(r)},f.m=e,f.c=a,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var a in e)f.d(t,a,(function(r){return e[r]}).bind(null,a));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="",f.oe=function(e){throw console.error(e),e};var o=window.webpackJsonp=window.webpackJsonp||[],b=o.push.bind(o);o.push=r,o=o.slice();for(var d=0;d<o.length;d++)r(o[d]);var u=b;t()}([]);
|
stoobly_agent/test/app/cli/scaffold/{hosts_file_reader_test.py → hosts_file_manager_test.py}
RENAMED
@@ -1,23 +1,23 @@
|
|
1
1
|
import pdb
|
2
2
|
import pytest
|
3
3
|
|
4
|
-
from stoobly_agent.app.cli.scaffold.
|
4
|
+
from stoobly_agent.app.cli.scaffold.hosts_file_manager import HostsFileManager
|
5
5
|
|
6
6
|
|
7
|
-
class
|
7
|
+
class TestHostsFileManager():
|
8
8
|
|
9
9
|
@pytest.fixture
|
10
|
-
def
|
11
|
-
yield
|
10
|
+
def hosts_file_manager(self):
|
11
|
+
yield HostsFileManager()
|
12
12
|
|
13
|
-
def test_get_hosts_file_path(self,
|
14
|
-
hosts_file_path =
|
13
|
+
def test_get_hosts_file_path(self, hosts_file_manager):
|
14
|
+
hosts_file_path = hosts_file_manager._HostsFileManager__get_hosts_file_path()
|
15
15
|
|
16
16
|
# Test runners are all Linux distros for now
|
17
17
|
assert hosts_file_path == '/etc/hosts'
|
18
18
|
|
19
|
-
def test_get_hosts(self,
|
20
|
-
hosts =
|
19
|
+
def test_get_hosts(self, hosts_file_manager):
|
20
|
+
hosts = hosts_file_manager.get_hosts()
|
21
21
|
|
22
22
|
assert hosts
|
23
23
|
assert len(hosts) > 1
|
@@ -29,10 +29,10 @@ class TestHostsFileReader():
|
|
29
29
|
break
|
30
30
|
assert localhost_found
|
31
31
|
|
32
|
-
def test_find_host(self,
|
32
|
+
def test_find_host(self, hosts_file_manager):
|
33
33
|
url = 'localhost'
|
34
34
|
|
35
|
-
host =
|
35
|
+
host = hosts_file_manager.find_host(url)
|
36
36
|
|
37
37
|
assert host
|
38
38
|
assert host.ip_address == '127.0.0.1'
|
@@ -40,36 +40,36 @@ class TestHostsFileReader():
|
|
40
40
|
|
41
41
|
|
42
42
|
class TestsSplitHostsLine():
|
43
|
-
def test_basic(self,
|
43
|
+
def test_basic(self, hosts_file_manager):
|
44
44
|
line = '0.0.0.0 example.com'
|
45
|
-
split =
|
45
|
+
split = hosts_file_manager._HostsFileManager__split_hosts_line(line)
|
46
46
|
|
47
47
|
assert split[0] == '0.0.0.0'
|
48
48
|
assert split[1] == 'example.com'
|
49
49
|
|
50
|
-
def test_tabs(self,
|
50
|
+
def test_tabs(self, hosts_file_manager):
|
51
51
|
line = '0.0.0.0\texample.com'
|
52
|
-
split =
|
52
|
+
split = hosts_file_manager._HostsFileManager__split_hosts_line(line)
|
53
53
|
|
54
54
|
assert split[0] == '0.0.0.0'
|
55
55
|
assert split[1] == 'example.com'
|
56
56
|
|
57
|
-
def test_comment(self,
|
57
|
+
def test_comment(self, hosts_file_manager):
|
58
58
|
line = '# 0.0.0.0 example.com'
|
59
|
-
split =
|
59
|
+
split = hosts_file_manager._HostsFileManager__split_hosts_line(line)
|
60
60
|
|
61
61
|
assert len(split) == 0
|
62
62
|
|
63
|
-
def test_inline_comment(self,
|
63
|
+
def test_inline_comment(self, hosts_file_manager):
|
64
64
|
line = '0.0.0.0\texample.com # Comment'
|
65
|
-
split =
|
65
|
+
split = hosts_file_manager._HostsFileManager__split_hosts_line(line)
|
66
66
|
|
67
67
|
assert split[0] == '0.0.0.0'
|
68
68
|
assert split[1] == 'example.com'
|
69
69
|
|
70
|
-
def test_multiple_hostnames(self,
|
70
|
+
def test_multiple_hostnames(self, hosts_file_manager):
|
71
71
|
line = '0.0.0.0\texample.com example2.com example3.com # Comment'
|
72
|
-
split =
|
72
|
+
split = hosts_file_manager._HostsFileManager__split_hosts_line(line)
|
73
73
|
|
74
74
|
assert split[0] == '0.0.0.0'
|
75
75
|
assert split[1] == 'example.com'
|
@@ -1 +1 @@
|
|
1
|
-
1.2.3
|
1
|
+
1.2.3
|
@@ -1,11 +1,11 @@
|
|
1
|
-
stoobly_agent/__init__.py,sha256=
|
1
|
+
stoobly_agent/__init__.py,sha256=Gxrndj7ajhTOnpDStd-1lwXSm8fcRw31xdLLWBS2qqQ,44
|
2
2
|
stoobly_agent/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
stoobly_agent/app/api/__init__.py,sha256=ctkB8KR-eXO0SFhj602huHiyvQ3PslFWd8fkcufgrAI,1000
|
4
|
-
stoobly_agent/app/api/application_http_request_handler.py,sha256=
|
4
|
+
stoobly_agent/app/api/application_http_request_handler.py,sha256=ZgCfmdr5um-OFAiuRHdBxFqPIeph9WqYkVg-oVQWw-E,5543
|
5
5
|
stoobly_agent/app/api/bodies_controller.py,sha256=TmN82Q7OFjWiIszwUzfYHQqsqCwLLrThXcIfQmNgvTo,2285
|
6
6
|
stoobly_agent/app/api/configs_controller.py,sha256=wkO3_9cexH7BKwm_2KflKEEdxvBFwc9vju_wouUjjBI,4692
|
7
7
|
stoobly_agent/app/api/headers_controller.py,sha256=3o2phGKecxJ--pjiZ6-L7kpVMvr8ZP-P5Mxc-J-o_hg,2781
|
8
|
-
stoobly_agent/app/api/proxy_controller.py,sha256=
|
8
|
+
stoobly_agent/app/api/proxy_controller.py,sha256=XMGk8-5WAdJS1_n5Li0aA7-q_3vDG4Q0pqLq4YVzsDg,5056
|
9
9
|
stoobly_agent/app/api/query_params_controller.py,sha256=y7DMlJgPkACfRoAd2KeCge0Z8Vy9LKDDHj_RnMo28HQ,3640
|
10
10
|
stoobly_agent/app/api/replayed_response_headers_controller.py,sha256=0rdNlw74L5KsQxKJyKUf_lfoxoh82xKkJ7m1Nmz_3sM,1768
|
11
11
|
stoobly_agent/app/api/replayed_responses_controller.py,sha256=bPd8MmS1mT1uuWoJ6uhJQk_dafISDGhH8yIyEjCRCvw,3435
|
@@ -18,7 +18,7 @@ stoobly_agent/app/api/simple_http_request_handler.py,sha256=ZdJ4kKEcPDpck74dJu--
|
|
18
18
|
stoobly_agent/app/api/statuses_controller.py,sha256=gQsl28h-3mZ_bByEHpc4mRy3KFvUz5PeAgVB0cPx_Ao,1791
|
19
19
|
stoobly_agent/app/cli/__init__.py,sha256=uS4KJgMAhm0JVnEUC-ONW-Bq6A8I9v7Fk-_Ka7gXlrU,470
|
20
20
|
stoobly_agent/app/cli/ca_cert_cli.py,sha256=QXl01nyCQLhiGr8vozZicui36AlgHU1q_V9c_w_xY-Q,1444
|
21
|
-
stoobly_agent/app/cli/config_cli.py,sha256=
|
21
|
+
stoobly_agent/app/cli/config_cli.py,sha256=Ljr2Ir8P0dhGXALQQcq7fwthrcipPlvxS2G_0bNE6fY,15727
|
22
22
|
stoobly_agent/app/cli/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
23
|
stoobly_agent/app/cli/decorators/config.py,sha256=AWrDGZm_gjCWFYlRwdla3iE6H7OSlM4FxkaXRNovBZA,2428
|
24
24
|
stoobly_agent/app/cli/decorators/exec.py,sha256=170tkugOHBb6Pe3AzgDSfoQ1n7ntcah7JVZz-G5cSYU,994
|
@@ -28,7 +28,7 @@ stoobly_agent/app/cli/feature_cli.py,sha256=d-MUTbK3gbZxZNJUjM43fioZyhPyzetQNKjI
|
|
28
28
|
stoobly_agent/app/cli/handlers/request_cli_handler.py,sha256=IPToK9OfiDda-mkq8HpiSSqK2m-UR15-8f8LVoLAHTA,6965
|
29
29
|
stoobly_agent/app/cli/handlers/scenario_cli_handler.py,sha256=1KSsfhR1mmPUCmhjzWTjf_L9NcQglLvVK3KURrPt92A,7425
|
30
30
|
stoobly_agent/app/cli/helpers/__init__.py,sha256=26ODsQi5NoJPwq4Ya7_lmtRalhhXOr_jfdZQWGLy6Gc,161
|
31
|
-
stoobly_agent/app/cli/helpers/certificate_authority.py,sha256=
|
31
|
+
stoobly_agent/app/cli/helpers/certificate_authority.py,sha256=j43f8W0A5lrNOIdB7QJQAVRCDP9ri4SpUZuT4XfI5v0,7374
|
32
32
|
stoobly_agent/app/cli/helpers/context.py,sha256=Jv97ueNnqea5UDm57VOUiQSHKWBeNlCcrq5-qW2tcwQ,1624
|
33
33
|
stoobly_agent/app/cli/helpers/endpoint_facade.py,sha256=_1TR9PcRnqpl9Q4njFHMM_Btqpr6cCf757FFcywa3oU,2318
|
34
34
|
stoobly_agent/app/cli/helpers/endpoints_apply_context.py,sha256=PvUzJLXNKl6wIQj2q8YZK1MAm1yqzDLLlpCYMoyWb9I,1831
|
@@ -43,7 +43,7 @@ stoobly_agent/app/cli/helpers/handle_test_service.py,sha256=nlso1XXjPKoPayN13FXs
|
|
43
43
|
stoobly_agent/app/cli/helpers/iterate_group_by.py,sha256=oN9JC58LHLiElQC0M6JdjBAVlqIEwoBmNJuSJyIs-cI,3099
|
44
44
|
stoobly_agent/app/cli/helpers/json_print.py,sha256=E7UOcxtzGCv8_GCsz0Wos1XP5RhhM-ndS5dc0ZKtHtY,735
|
45
45
|
stoobly_agent/app/cli/helpers/openapi_endpoint_adapter.py,sha256=MdQ13yVkK7ygVh6D0WHWQoq6zOoEtCvTjOKEygMBWAk,21909
|
46
|
-
stoobly_agent/app/cli/helpers/print_service.py,sha256=
|
46
|
+
stoobly_agent/app/cli/helpers/print_service.py,sha256=uuh1mjKpS3_Mk8WuIVPp2cmQAevyS6cTPILnqOmzE_s,4619
|
47
47
|
stoobly_agent/app/cli/helpers/project_facade.py,sha256=rThwVur2clCCBcHa-U4_vGynj0miKv78B3uF6ZRmBSQ,1905
|
48
48
|
stoobly_agent/app/cli/helpers/replay_facade.py,sha256=0Saxae9HN-cdwrelJXz89X139M9bz9hY8_9hERgxjB4,3730
|
49
49
|
stoobly_agent/app/cli/helpers/report_facade.py,sha256=LO2SURvjkzqhbGx_Jaei8I-o7eXF7QKq6lWewBkQ9Qc,1056
|
@@ -67,13 +67,13 @@ stoobly_agent/app/cli/project_cli.py,sha256=EXjeLjbnq9PhfCjvyfZ0UnJ2tejeCS0SIAo3
|
|
67
67
|
stoobly_agent/app/cli/report_cli.py,sha256=ZxJw0Xkx7KFZJn9e45BSKRKon8AD0Msrwy1fbPfbv0c,2543
|
68
68
|
stoobly_agent/app/cli/request_cli.py,sha256=THNloW111l9MLE0oPg4y7hVXL1U7OXoz760g0A1CtJ0,7747
|
69
69
|
stoobly_agent/app/cli/scaffold/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
70
|
-
stoobly_agent/app/cli/scaffold/app.py,sha256=
|
70
|
+
stoobly_agent/app/cli/scaffold/app.py,sha256=umY7kgZb6xvwO1XxAV3zmgjW6xyLnAbKkM7oh4Dk7uk,3441
|
71
71
|
stoobly_agent/app/cli/scaffold/app_command.py,sha256=qtOdG08ehdRk1wujiTL7LCQXoJkGpwExepO2qYBXBNA,2027
|
72
72
|
stoobly_agent/app/cli/scaffold/app_config.py,sha256=Gs-BynV1vY7_PpTOenn2mqc7lBIu0vBx6as9vtEU1sk,818
|
73
73
|
stoobly_agent/app/cli/scaffold/app_create_command.py,sha256=sy4017eiir9MK0TEbTi1NyG9mhOGlenGGVnq0GsGUrQ,966
|
74
74
|
stoobly_agent/app/cli/scaffold/command.py,sha256=aoTsdkkBzyu7TkVSMdNQQGk0Gj874jNgFcjR14y3TuM,254
|
75
75
|
stoobly_agent/app/cli/scaffold/config.py,sha256=HZU5tkvr3dkPr4JMXZtrJlu2wxxO-134Em6jReFFcq0,688
|
76
|
-
stoobly_agent/app/cli/scaffold/constants.py,sha256=
|
76
|
+
stoobly_agent/app/cli/scaffold/constants.py,sha256=5NCOjS2bzGT96iNfIbIbCgJf4yTAfSrHkbcieXz12Vs,2064
|
77
77
|
stoobly_agent/app/cli/scaffold/docker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
78
78
|
stoobly_agent/app/cli/scaffold/docker/app_builder.py,sha256=7z5pk5JKlRDHx2USxY-WurttLyyUkIVYfl34_u1x9dE,501
|
79
79
|
stoobly_agent/app/cli/scaffold/docker/builder.py,sha256=OE7r8vEdEkW3vwpmIctePiO0S5jvao5zMJNpxc-Yayw,2851
|
@@ -91,19 +91,19 @@ stoobly_agent/app/cli/scaffold/docker/workflow/development_decorator.py,sha256=c
|
|
91
91
|
stoobly_agent/app/cli/scaffold/docker/workflow/mock_decorator.py,sha256=V9y4RIyEIT8SiGm3U9OcmU1dr22wqpbSbGO_Z2EMYEI,1197
|
92
92
|
stoobly_agent/app/cli/scaffold/docker/workflow/reverse_proxy_decorator.py,sha256=s1l99Y-2h-sSLVtPhcgaa1YRTbSvb6QdgaUeBLHYc4w,1804
|
93
93
|
stoobly_agent/app/cli/scaffold/env.py,sha256=e-Ve4p3RUgzFx22B3SIYttvJ_yLuDtA27oDACZ8n-6E,1140
|
94
|
-
stoobly_agent/app/cli/scaffold/
|
94
|
+
stoobly_agent/app/cli/scaffold/hosts_file_manager.py,sha256=rr1RjO4920kmuhyvdPnLPY8WbQqk7qKZu_UCnSR0yaI,3421
|
95
95
|
stoobly_agent/app/cli/scaffold/managed_services_docker_compose.py,sha256=-wLBXUi7DCWsfm5KzZzd_kdJKOTl1NT924XR7dyjbSY,574
|
96
|
-
stoobly_agent/app/cli/scaffold/service.py,sha256=
|
96
|
+
stoobly_agent/app/cli/scaffold/service.py,sha256=L9K6QE0k5KSEC8_fSwtdwwTSO_DsIpqSPW-AG7Bg76o,501
|
97
97
|
stoobly_agent/app/cli/scaffold/service_command.py,sha256=9kIKiFC5Jo425VWYD4NDvUOdMP-pNyq2D5Ip1ZAPj3A,1054
|
98
|
-
stoobly_agent/app/cli/scaffold/service_config.py,sha256=
|
98
|
+
stoobly_agent/app/cli/scaffold/service_config.py,sha256=SRtBxdLLa4omAd0JaXsPoyAUu9_PdJ4aVxZOiFMMH8o,3275
|
99
99
|
stoobly_agent/app/cli/scaffold/service_create_command.py,sha256=bmLGgx9qnh-X_i2_XfdWSQIer0gGkaQx6lXZSIzy-LI,2793
|
100
100
|
stoobly_agent/app/cli/scaffold/service_delete_command.py,sha256=_nBDQjm8eL62MQpzSCxgUHlW04ZXKG8MDlN1BXxlqww,986
|
101
101
|
stoobly_agent/app/cli/scaffold/service_docker_compose.py,sha256=OMUN1-ujQYIZXxDvS4XBf5C9wGalQULkwOiBBQPZbHY,820
|
102
102
|
stoobly_agent/app/cli/scaffold/service_workflow.py,sha256=sQ_Edy_wGHKMXpD0DmhnOWkGEKz7gSgEGNI8f7aXOdg,444
|
103
|
-
stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py,sha256=
|
103
|
+
stoobly_agent/app/cli/scaffold/service_workflow_validate_command.py,sha256=hF3c6cFRaKH01BfwdrCJdX8SEbsfD5CCG8W_yZU4FK4,9948
|
104
104
|
stoobly_agent/app/cli/scaffold/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
105
|
-
stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context,sha256=
|
106
|
-
stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=
|
105
|
+
stoobly_agent/app/cli/scaffold/templates/app/.Dockerfile.context,sha256=PRNYTWYYcLfcyrZ5h5u2I7dAJdeFmmxRFpAj_8243Bw,158
|
106
|
+
stoobly_agent/app/cli/scaffold/templates/app/.Makefile,sha256=Ksv3AHFbeImm2vVfjzxAF4JWEnl_YmQCR-UxxM-l2Pg,7594
|
107
107
|
stoobly_agent/app/cli/scaffold/templates/app/.docker-compose.base.yml,sha256=YblNDTUPndYNxupgZ3X8RP6NS4c0u_QwLklyWrpq_qs,295
|
108
108
|
stoobly_agent/app/cli/scaffold/templates/app/Makefile,sha256=TEmPG7Bf0KZOnmfsgdzza3UdwcVMmM5Lj1YdLc4cgjA,79
|
109
109
|
stoobly_agent/app/cli/scaffold/templates/app/build/.config.yml,sha256=8Wt8ZZ5irvBYYS44xGrR_EWlZDuXH9kyWmquzsh7s8g,19
|
@@ -159,6 +159,7 @@ stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.list,sha256=Bd
|
|
159
159
|
stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.logs,sha256=k-2a3p6LL8QOnU6o240g6an8tVhJeztR3ZsNoI5G2wc,211
|
160
160
|
stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.mkcert,sha256=vyHaXmvy-7oL2RD8rIxwT-fdJS5kXmB0yHK5fRMo_cM,46
|
161
161
|
stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.reset,sha256=_pvbLk-ektsCHEh_egDtd6c0sVqCPunwUWggarfoli0,238
|
162
|
+
stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.services,sha256=sAbaKzBxNDXimyUNinB_a2Kt47vUCa0Kd3Z1QAp2GrU,161
|
162
163
|
stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.snapshot,sha256=Kav1QNhKG7f0DBzc4-9dmxZMmmVTxmPqakT_W4kVYKk,241
|
163
164
|
stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/exec/bin/.up,sha256=MZbIZpLlKpn-8jMFIFeIw6lfd8mc8A8GMONP-UOYwMI,267
|
164
165
|
stoobly_agent/app/cli/scaffold/templates/app/stoobly-ui/mock/.docker-compose.mock.yml,sha256=FnCn64DjxyAiB2P_1JUwFmXslMR961nVZHkYiEXytlg,232
|
@@ -189,14 +190,14 @@ stoobly_agent/app/cli/scaffold/validate_exceptions.py,sha256=Jtjl4OkbbSRWm0hy7Kf
|
|
189
190
|
stoobly_agent/app/cli/scaffold/workflow.py,sha256=KlbWT9CIo9EpZxKU1WVZtmodhxK7CpmLUHPNk4Mh6DA,1570
|
190
191
|
stoobly_agent/app/cli/scaffold/workflow_command.py,sha256=NjLxmkAtv-WjcDi9Sa35GLr0PVQXOP2CcecCslC_3-U,3295
|
191
192
|
stoobly_agent/app/cli/scaffold/workflow_copy_command.py,sha256=R9hh5dWVz7vGld7pENAA_a9gW56EkgG2K35nBQYXwyI,1462
|
192
|
-
stoobly_agent/app/cli/scaffold/workflow_create_command.py,sha256=
|
193
|
+
stoobly_agent/app/cli/scaffold/workflow_create_command.py,sha256=I38eH_alLA4i4Sqw072C38IGTPtPewGdteJNGG1R10o,3384
|
193
194
|
stoobly_agent/app/cli/scaffold/workflow_env.py,sha256=x8V5pJmIiklD3f2q2-qq-CORf4YaXYq_r2JpR2MmSwk,416
|
194
195
|
stoobly_agent/app/cli/scaffold/workflow_log_command.py,sha256=Bke4lMOMxuDUFuAx9nlXHbKgYMO4KAg9ASHvjz4aVWc,1372
|
195
|
-
stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=
|
196
|
+
stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=DJNyhPrvvZgOwFnPKi5Z3VdrAWfaZW_XbGfgFcnh5QM,9608
|
196
197
|
stoobly_agent/app/cli/scaffold/workflow_validate_command.py,sha256=fhHciJXg_u32Wmh8us8LhgQj8D1SxkBADtuBBF4K0FM,4377
|
197
|
-
stoobly_agent/app/cli/scaffold_cli.py,sha256=
|
198
|
+
stoobly_agent/app/cli/scaffold_cli.py,sha256=hlpAaPIPEDxKwU1KiKVMln0FhwN3oOnmuJrJwYDDoy8,25586
|
198
199
|
stoobly_agent/app/cli/scenario_cli.py,sha256=3J1EiJOvunkfWrEkOsanw-XrKkOk78ij_GjBlE9p7CE,8229
|
199
|
-
stoobly_agent/app/cli/snapshot_cli.py,sha256=
|
200
|
+
stoobly_agent/app/cli/snapshot_cli.py,sha256=cpCjxFYBuVwLuq_b2lIUu-5zWqupRlrp4xWgDytirSM,10047
|
200
201
|
stoobly_agent/app/cli/trace_cli.py,sha256=K7E-vx3JUcqEDSWOdIOi_AieKNQz7dBfmRrVvKDkzFI,4605
|
201
202
|
stoobly_agent/app/cli/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
202
203
|
stoobly_agent/app/cli/types/output.py,sha256=2wazv56g5IwLQeJCWfJXXAxTB9Y5WH1cKMHbpjbXNeo,439
|
@@ -299,9 +300,9 @@ stoobly_agent/app/proxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
299
300
|
stoobly_agent/app/proxy/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
300
301
|
stoobly_agent/app/proxy/constants/custom_response_codes.py,sha256=1CaApt_6W7GrxvN8_Ozbf_SEodVEQaNZRR2sMYpI0U8,40
|
301
302
|
stoobly_agent/app/proxy/context.py,sha256=XLteUEP8T8aT0hHI_jHDaL2382OaC7QyVwlni5_FS9U,456
|
302
|
-
stoobly_agent/app/proxy/handle_mock_service.py,sha256=
|
303
|
+
stoobly_agent/app/proxy/handle_mock_service.py,sha256=jdznZNsg0ZUJhTCNIChxgeHmp7ajFB5EvE5Th752IC4,7563
|
303
304
|
stoobly_agent/app/proxy/handle_record_service.py,sha256=KYygWIvonyS_14XO_bZ-cPVC8tCSbbErciE399o013Y,3346
|
304
|
-
stoobly_agent/app/proxy/handle_replay_service.py,sha256=
|
305
|
+
stoobly_agent/app/proxy/handle_replay_service.py,sha256=_9zeDfvupN8dHugmEHs48gS5_z0Bqfn33HaSAwi8GCc,1835
|
305
306
|
stoobly_agent/app/proxy/handle_test_service.py,sha256=nGoE2m3lfDYVs3_k-_wOXCmmf27vz99pwlsIhMxDu9I,5732
|
306
307
|
stoobly_agent/app/proxy/hot_reload.py,sha256=bcxdN0WM5l7_zY2XYLV2wF7xCpGdZILi4dVsjqAVgig,983
|
307
308
|
stoobly_agent/app/proxy/intercept_handler.py,sha256=Wv5oOfQHatDwnQX9zbIRNgWWAQHgvcPC-GsmBdQNDlc,4338
|
@@ -310,9 +311,10 @@ stoobly_agent/app/proxy/mitmproxy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
310
311
|
stoobly_agent/app/proxy/mitmproxy/flow_mock.py,sha256=YxQV3pXIzicvLOCFn7zmnSoAstAmR8fzONYOXAkYbT4,1153
|
311
312
|
stoobly_agent/app/proxy/mitmproxy/request.py,sha256=niy38718CAe4Li4k40GXnWDDmUTCPkXesDZTaC8BeLc,878
|
312
313
|
stoobly_agent/app/proxy/mitmproxy/request_body_facade.py,sha256=kMJ8YH2FKW9qV68QcUbOCLfiGgKrFV5krzt7usGf0as,649
|
313
|
-
stoobly_agent/app/proxy/mitmproxy/request_facade.py,sha256=
|
314
|
+
stoobly_agent/app/proxy/mitmproxy/request_facade.py,sha256=2BKWykpt5ihfaVDxyg9dy3HDpJcNCCu-4o77ztvUPwU,8417
|
314
315
|
stoobly_agent/app/proxy/mitmproxy/response.py,sha256=BFaJlB1D98EOjrc-kUmunUCTUuiZsPDqq2QgAHDocQI,339
|
315
|
-
stoobly_agent/app/proxy/mitmproxy/
|
316
|
+
stoobly_agent/app/proxy/mitmproxy/response_body_facade.py,sha256=vIu6cuCSiZDocvnMNyi0Zjf0qsC0enm2Glp671eWnb4,659
|
317
|
+
stoobly_agent/app/proxy/mitmproxy/response_facade.py,sha256=bUlCpFIjuHccAMD2TbWRSpz7H6_PUYuz99JSTlc4AfU,4360
|
316
318
|
stoobly_agent/app/proxy/mock/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
317
319
|
stoobly_agent/app/proxy/mock/context.py,sha256=vDo5_3WBL73mVFnsmQWvcxvPg5nWtRJbigSrE3zGc-o,794
|
318
320
|
stoobly_agent/app/proxy/mock/custom_not_found_response_builder.py,sha256=Bwy7qsPzcIUw5FTaUGeaOnsTneuCCbGkTJU-wsmN3NE,415
|
@@ -325,7 +327,7 @@ stoobly_agent/app/proxy/mock/search_endpoint.py,sha256=HDN3tIkPnlgmkt-BbZDz7iwac
|
|
325
327
|
stoobly_agent/app/proxy/mock/types/__init__.py,sha256=r4Zwqx6V5HHZwrcYWEv6xSXG0nXaN5FqxqCm0d3U-GM,150
|
326
328
|
stoobly_agent/app/proxy/record/__init__.py,sha256=lbW-G6DZ8IrRpRzvgt-1tn2cRuyLT744u9ERIrZ2dFI,233
|
327
329
|
stoobly_agent/app/proxy/record/context.py,sha256=L9tykwoB35hOPHft3IHSPjuJ2v3TSj9SQAJ9E1q-U_4,343
|
328
|
-
stoobly_agent/app/proxy/record/join_request_service.py,sha256=
|
330
|
+
stoobly_agent/app/proxy/record/join_request_service.py,sha256=zDvB2vhM_SpqE3lwuZ6KUjyM_KfbkpLAmJI9dFSXycQ,1318
|
329
331
|
stoobly_agent/app/proxy/record/joined_request.py,sha256=va79Pkz5RWACJn07ipV_FtVmGUzjSlqhfUu_amw9bX8,1553
|
330
332
|
stoobly_agent/app/proxy/record/overwrite_scenario_service.py,sha256=3em2a2ry4MrE30XlAukat-l3L9cu4o13Cxhi6BBUgkc,940
|
331
333
|
stoobly_agent/app/proxy/record/proxy_request.py,sha256=6DqQ2KH7AtfvXg5HNDWwvwgjO7x1QrWDYgJOBMWPKqs,418
|
@@ -381,7 +383,7 @@ stoobly_agent/app/settings/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeu
|
|
381
383
|
stoobly_agent/app/settings/constants/firewall_action.py,sha256=DszoKKcZ444zqE6p7zl8arUYfUNKy2hysxcQhipjQs0,111
|
382
384
|
stoobly_agent/app/settings/constants/intercept_mode.py,sha256=0ZdREDdhpEulSrEKuTyn2zqQ9o5P4Fg32I-5-q9klcU,127
|
383
385
|
stoobly_agent/app/settings/constants/mode.py,sha256=fNyRc5yYr-cfI4z-4ykEXE1F2JEcmQYQI1Wy78WZQYE,67
|
384
|
-
stoobly_agent/app/settings/constants/request_component.py,sha256=
|
386
|
+
stoobly_agent/app/settings/constants/request_component.py,sha256=NRiK-BXl52sSOTIPUjZGorSQLY1-uz_h8caVvAqVxTY,264
|
385
387
|
stoobly_agent/app/settings/data_rules.py,sha256=gepg_Nbv648_aYevDb5U1rfjvw2JVpLbybRRaX_Vl0E,2211
|
386
388
|
stoobly_agent/app/settings/data_settings.py,sha256=7xUjrQn1uNCh72FNDcNFzGuM-2e_QOdp3qDXQjW8fCY,703
|
387
389
|
stoobly_agent/app/settings/feature_settings.py,sha256=6Xb7TkQDJLTUjTzmQK1LZ-Xuk3a-LGv6sXEhU1CG5Ls,1089
|
@@ -407,9 +409,9 @@ stoobly_agent/cli.py,sha256=4WLcWPHWdv5dZEitXtDj6_I5AH5WVvQqE_uDe6bPEno,9906
|
|
407
409
|
stoobly_agent/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
408
410
|
stoobly_agent/config/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
409
411
|
stoobly_agent/config/constants/alias_resolve_strategy.py,sha256=_R1tVqFnyGxCraVS5-dhSskaDj_X8-NthsY7i_bEt9M,119
|
410
|
-
stoobly_agent/config/constants/custom_headers.py,sha256=
|
412
|
+
stoobly_agent/config/constants/custom_headers.py,sha256=IJZzZN77ZpbTr62EkXatm1r-I1_i4HEErO_LlQZLRU0,1279
|
411
413
|
stoobly_agent/config/constants/env_vars.py,sha256=HAR_ZIdXXbpWQgCDaRR5RtpVyGXCsMLr_Fh8n6S12K0,1344
|
412
|
-
stoobly_agent/config/constants/headers.py,sha256=
|
414
|
+
stoobly_agent/config/constants/headers.py,sha256=Hfv7R8_NPXAGaMiZPqywGZDnr0qcVUyfenPb4g465rE,169
|
413
415
|
stoobly_agent/config/constants/lifecycle_hooks.py,sha256=aobclZmcND_mUnFKkUgpxgwd5EU3pjgAvB-NFf2dCgE,846
|
414
416
|
stoobly_agent/config/constants/mitmproxy.py,sha256=AhaxRGMb7OC4DBqNvyBP0OVQSByCeA-itefzmMoIS14,116
|
415
417
|
stoobly_agent/config/constants/mock_policy.py,sha256=KrRVPJYRSb0hIH9fjAV9aQ8OsnhnYo9l7dylug62YVg,41
|
@@ -536,8 +538,8 @@ stoobly_agent/public/16-es2015.98fa59c2c96d2caac3c3.js,sha256=UT1Osw9eIQrw_DY78E
|
|
536
538
|
stoobly_agent/public/16-es5.98fa59c2c96d2caac3c3.js,sha256=PvGoSIj08MWxsyrzxrEEjcVFES8Dxz4oys-7WSvScYc,40776
|
537
539
|
stoobly_agent/public/17-es2015.7f60b56d1fd66d4d5544.js,sha256=JSDKvjqd2vCG2QXnSthxBZWxDiRpAyQh8HbnyQUHsQE,93859
|
538
540
|
stoobly_agent/public/17-es5.7f60b56d1fd66d4d5544.js,sha256=QTLvq9pTwfA4biWhGParTNYqrGJ_Q7PLzTxotH7DO8o,99561
|
539
|
-
stoobly_agent/public/18-es2015.
|
540
|
-
stoobly_agent/public/18-es5.
|
541
|
+
stoobly_agent/public/18-es2015.583f191cc7ad512ee262.js,sha256=cpF7BZIFd1bun78PQaA-W3TLfB6el3Lsp8Ej_Op7G2o,226056
|
542
|
+
stoobly_agent/public/18-es5.583f191cc7ad512ee262.js,sha256=5TJjtnQvtWYJJaczNRwOCsUViN-ZsMuMVHL7bDm03S4,230699
|
541
543
|
stoobly_agent/public/19-es2015.78ec0e9fd228b5104712.js,sha256=_zAPIlDzePQzObhI3ZTJkos1PCpo9oTihpKP32vq8XM,50596
|
542
544
|
stoobly_agent/public/19-es5.78ec0e9fd228b5104712.js,sha256=pW2C1WTXYw2sbGXOf-R8j7erruLi_vgX5NCnr-NRz1c,53473
|
543
545
|
stoobly_agent/public/2-es2015.51eb8544ea9a21f2874c.js,sha256=9mfdispLMBfibZJKNVb8yLQC2oo_k2hl5FCLP9ex8vI,23146
|
@@ -564,8 +566,8 @@ stoobly_agent/public/33-es2015.da5ba1e5baa164921198.js,sha256=-BNSVIBS3zLv96qWz3
|
|
564
566
|
stoobly_agent/public/33-es5.da5ba1e5baa164921198.js,sha256=lqUjYoz06ltYD3HGOqLlcY4RbfmwmMGCa9W895duMrY,37364
|
565
567
|
stoobly_agent/public/34-es2015.87acbb95cfb824650157.js,sha256=NcF3df4l4YnokHotYPRDLtbrpavMeZTOm5PweNaAJ7g,96972
|
566
568
|
stoobly_agent/public/34-es5.87acbb95cfb824650157.js,sha256=C851uEe4_kJpsPG5PPeoDnhUW-0uoJTAYvgU2idOJyU,99259
|
567
|
-
stoobly_agent/public/35-es2015.
|
568
|
-
stoobly_agent/public/35-es5.
|
569
|
+
stoobly_agent/public/35-es2015.8f79ff8748d4ff06ab03.js,sha256=feVitSPEn7eRy1H3fu865nAZVvu5aYTiZOjqKEgCCGU,187499
|
570
|
+
stoobly_agent/public/35-es5.8f79ff8748d4ff06ab03.js,sha256=7eRs2Ga0lZo7ygFUROdrI5YSsnDlP_TpZkw0XpGtQu4,191822
|
569
571
|
stoobly_agent/public/36-es2015.e3a104020eeec02cb8c4.js,sha256=WQgISJKDEXNXcr9Wv--7iUpw6eC_9wit0IXha4JShls,79154
|
570
572
|
stoobly_agent/public/36-es5.e3a104020eeec02cb8c4.js,sha256=xirhOd1ruj09LsZJoWqt76WZ5so7xUy9s30ZmfVPkQk,81129
|
571
573
|
stoobly_agent/public/37-es2015.3b472e6cf303201bbf2c.js,sha256=FdGpZp-QnsDMKN7FDakZffqK8IXxVVrEECH4w63NWCs,161925
|
@@ -629,13 +631,13 @@ stoobly_agent/public/assets/img/logo/white.svg,sha256=qUSVIlslmQRkZNQkL6JXhK_rRo
|
|
629
631
|
stoobly_agent/public/common-es2015.388805227aa99c527fba.js,sha256=VLCjAWJr277Jc0n8V5_4suShUYTflO2KLgGXWjz5fpU,7080
|
630
632
|
stoobly_agent/public/common-es5.388805227aa99c527fba.js,sha256=8DJYZ8fNUrpcb6WCfHgqgnMU3aP0s5lCyskBnLTUeM4,8183
|
631
633
|
stoobly_agent/public/favicon.ico,sha256=duQa4tOX0GPI3u4cEBO5Bt124EWpvymGQDqPfy0LtkM,15086
|
632
|
-
stoobly_agent/public/index.html,sha256=
|
633
|
-
stoobly_agent/public/main-es2015.
|
634
|
-
stoobly_agent/public/main-es5.
|
634
|
+
stoobly_agent/public/index.html,sha256=XysPDBjLlqah-X01KOMgIHFe1X3g3-ibhYvtZJdxOYg,11355
|
635
|
+
stoobly_agent/public/main-es2015.2cc16523aa3fcaba51e5.js,sha256=MMBLuCVUJ0eClxKrpoXN8fNFnr_2tz59Tz_KXYOTcRw,1423241
|
636
|
+
stoobly_agent/public/main-es5.2cc16523aa3fcaba51e5.js,sha256=uNoPzOM8xmG6O0rmEj-vMCfCLr0WBMs8o9mrJHDGZQs,1571088
|
635
637
|
stoobly_agent/public/polyfills-es2015.8ce2adc69f283f6c4c5e.js,sha256=SDAz_6WyDiolzuBD-6ZCspWeXeR5gFDvSxFAdihJ3vk,37168
|
636
638
|
stoobly_agent/public/polyfills-es5.7530172ddcec11a10eb3.js,sha256=lue-PFE_AvHlq5HJFPUTUWxayp4_3Ktdg8KwaJQuug4,132015
|
637
|
-
stoobly_agent/public/runtime-es2015.
|
638
|
-
stoobly_agent/public/runtime-es5.
|
639
|
+
stoobly_agent/public/runtime-es2015.b914470164e4d6e75d96.js,sha256=b8qfJZaTnQYsUpITTyJGAjJoz8X6dGbjS0PmhSnKBbE,3379
|
640
|
+
stoobly_agent/public/runtime-es5.b914470164e4d6e75d96.js,sha256=-fZzEph9Vd9VxQwIocep1Noskq2YyghdxFNypTMwjTI,3376
|
639
641
|
stoobly_agent/public/styles.ab281309cf423b2cdcb0.css,sha256=3R9PubCATNJBMZC6bL9IiwQQdennG6uXctnMYKfSw-0,173756
|
640
642
|
stoobly_agent/test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
641
643
|
stoobly_agent/test/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -666,7 +668,7 @@ stoobly_agent/test/app/cli/request/request_test_test.py,sha256=-cJNXKjgryVVfVt-7
|
|
666
668
|
stoobly_agent/test/app/cli/scaffold/cli_invoker.py,sha256=_nGDLUsYxqkeqs5DdhvAeXy3IuotpgqKHXKVzu6GDF4,3700
|
667
669
|
stoobly_agent/test/app/cli/scaffold/cli_test.py,sha256=sMNvO845MIu5DVGa1HmwXQDmKDcwrfNTdEb3fK5886w,4557
|
668
670
|
stoobly_agent/test/app/cli/scaffold/e2e_test.py,sha256=fd_LWwkkjMbQQ39hxG0SwrwXeR-_cycT0Bmz3QOzpss,12978
|
669
|
-
stoobly_agent/test/app/cli/scaffold/
|
671
|
+
stoobly_agent/test/app/cli/scaffold/hosts_file_manager_test.py,sha256=sVFHHYBxzyfRbVIe3gnToQ-6JPy71BCBjdQDnboYzac,2306
|
670
672
|
stoobly_agent/test/app/cli/scenario/scenario_create_test.py,sha256=fGqcjO1_1OvdpUMQfGRVkSyFe61u8WIcp_ndLFrf33A,3962
|
671
673
|
stoobly_agent/test/app/cli/scenario/scenario_replay_integration_test.py,sha256=NbGJzmvPsNLBR0ac65yt_cOTfpnsST1IG7i3F0euwAk,7031
|
672
674
|
stoobly_agent/test/app/cli/scenario/scenario_replay_test.py,sha256=XqR-GDrR8uUtxvukBuIFJ4GsOzBj9WWi4b0VKmfhFyE,6874
|
@@ -691,7 +693,7 @@ stoobly_agent/test/app/models/factories/resource/local_db/helpers/log_test.py,sh
|
|
691
693
|
stoobly_agent/test/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request_test.py,sha256=5IFGVGn3ogvRT0fzZgXzhrYlSfSlr8IR1p_XExaegMQ,3399
|
692
694
|
stoobly_agent/test/app/models/factories/resource/local_db/request_adapter_test.py,sha256=Pzq1cBPnP9oSWG-p0c-VoymoHxgp483QmNwmV1b78RA,8453
|
693
695
|
stoobly_agent/test/app/models/factories/resource/local_db/response_adapter_test.py,sha256=9P95EKH5rZGOrmRkRIDlQZqtiLJHk9735og18Ffwpfw,2204
|
694
|
-
stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION,sha256=
|
696
|
+
stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION,sha256=2C80rpqkG8Sgy1KaGsCJj-0J1rR5-xzETLZsNPFe6E0,6
|
695
697
|
stoobly_agent/test/app/models/schemas/.stoobly/db/stoobly_agent.sqlite3,sha256=ch8gNx6zIelLKQx65gwFx_LRNqUD3EC5xcHZ0ukIQiU,188416
|
696
698
|
stoobly_agent/test/app/models/schemas/.stoobly/settings.yml,sha256=vLwMjweKOdod6tSLtIlyBefPQuNXq9wio4kBaODKtAU,726
|
697
699
|
stoobly_agent/test/app/models/schemas/.stoobly/tmp/options.json,sha256=OTRzarwus48CTrItedXCrgQttJHSEZonEYc7R_knvYg,2212
|
@@ -728,8 +730,8 @@ stoobly_agent/test/mock_data/scaffold/docker-compose-local-service.yml,sha256=x7
|
|
728
730
|
stoobly_agent/test/mock_data/scaffold/index.html,sha256=qJwuYajKZ4ihWZrJQ3BNObV5kf1VGnnm_vqlPJzdqLE,258
|
729
731
|
stoobly_agent/test/mock_data/uspto.yaml,sha256=6U5se7C3o-86J4m9xpOk9Npias399f5CbfWzR87WKwE,7835
|
730
732
|
stoobly_agent/test/test_helper.py,sha256=m_oAI7tmRYCNZdKfNqISWhMv3e44tjeYViQ3nTUfnos,1007
|
731
|
-
stoobly_agent-1.
|
732
|
-
stoobly_agent-1.
|
733
|
-
stoobly_agent-1.
|
734
|
-
stoobly_agent-1.
|
735
|
-
stoobly_agent-1.
|
733
|
+
stoobly_agent-1.4.0.dist-info/LICENSE,sha256=8QKGyy45eN76Zk52h8gu1DKX2B_gbWgZ3nzDLofEbaE,548
|
734
|
+
stoobly_agent-1.4.0.dist-info/METADATA,sha256=EYX5vmQsiiTpcEDvsRZFDkYtcl7dYUq5onTHR-nAYHo,3384
|
735
|
+
stoobly_agent-1.4.0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
736
|
+
stoobly_agent-1.4.0.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
|
737
|
+
stoobly_agent-1.4.0.dist-info/RECORD,,
|
@@ -1,65 +0,0 @@
|
|
1
|
-
import pdb
|
2
|
-
import platform
|
3
|
-
from dataclasses import dataclass
|
4
|
-
from typing import Union
|
5
|
-
|
6
|
-
|
7
|
-
class HostsFileReader():
|
8
|
-
|
9
|
-
@dataclass
|
10
|
-
class IpAddressToHostnames:
|
11
|
-
ip_address: str
|
12
|
-
hostnames: list[str]
|
13
|
-
|
14
|
-
def __get_hosts_file_path(self) -> str:
|
15
|
-
system = platform.system()
|
16
|
-
if system == 'Linux' or system == 'Darwin':
|
17
|
-
return '/etc/hosts'
|
18
|
-
else:
|
19
|
-
print(f"Unsupported system: {system}, for hosts file validation, skipping")
|
20
|
-
|
21
|
-
return ''
|
22
|
-
|
23
|
-
# Split IP address and hostnames. Don't include inline comments
|
24
|
-
def __split_hosts_line(self, line: str) -> list[str]:
|
25
|
-
ip_addr_hosts_split = line.split('#')[0].split()
|
26
|
-
return ip_addr_hosts_split
|
27
|
-
|
28
|
-
|
29
|
-
# Parses hosts file and returns a mapping of IP address to hostnames in a list.
|
30
|
-
def get_hosts(self) -> list[IpAddressToHostnames]:
|
31
|
-
hosts_file_path = self.__get_hosts_file_path()
|
32
|
-
|
33
|
-
if not hosts_file_path:
|
34
|
-
return []
|
35
|
-
|
36
|
-
with open(hosts_file_path, 'r') as f:
|
37
|
-
hostlines = f.readlines()
|
38
|
-
|
39
|
-
# Skip comments and empty lines
|
40
|
-
hostlines = [line.strip() for line in hostlines
|
41
|
-
if not line.startswith('#') and line.strip() != '']
|
42
|
-
|
43
|
-
hosts = []
|
44
|
-
for line in hostlines:
|
45
|
-
ip_addr_hosts_split = self.__split_hosts_line(line)
|
46
|
-
ip_address = ip_addr_hosts_split[0]
|
47
|
-
hostnames = ip_addr_hosts_split[1:]
|
48
|
-
ipAddressToHostnames = self.IpAddressToHostnames(ip_address, hostnames)
|
49
|
-
|
50
|
-
hosts.append(ipAddressToHostnames)
|
51
|
-
|
52
|
-
return hosts
|
53
|
-
|
54
|
-
def find_host(self, hostname) -> Union[IpAddressToHostnames, None]:
|
55
|
-
hosts = self.get_hosts()
|
56
|
-
|
57
|
-
for mapping in hosts:
|
58
|
-
if ((mapping.ip_address == '0.0.0.0' or mapping.ip_address == '127.0.0.1') and
|
59
|
-
hostname in mapping.hostnames):
|
60
|
-
|
61
|
-
return mapping
|
62
|
-
|
63
|
-
return None
|
64
|
-
|
65
|
-
|