Add parameterized proxy client requests

This commit is contained in:
Lyncoln
2026-09-17 16:14:10 -04:00
parent af55e4b967
commit fe01570b22
4 changed files with 112 additions and 4 deletions
@@ -17,13 +17,21 @@ class ProtocolFailure(Exception):
pass
def send_request(socket_path, resource, action):
def send_request(
socket_path,
resource,
action,
parameters=None,
):
request = {
"protocol_version": PROTOCOL_VERSION,
"action": action,
"resource": resource,
}
if parameters is not None:
request["parameters"] = parameters
try:
sock = socket.socket(
socket.AF_UNIX,
@@ -166,12 +174,26 @@ def format_result(action, result):
def main():
if len(sys.argv) != 6:
if len(sys.argv) not in (6, 7):
raise SystemExit(11)
socket_path = sys.argv[1]
resource = sys.argv[2]
action = sys.argv[3]
request_parameters = None
if len(sys.argv) == 7:
try:
request_parameters = json.loads(sys.argv[6])
except (
TypeError,
json.JSONDecodeError,
):
raise SystemExit(11)
if not isinstance(request_parameters, dict):
raise SystemExit(11)
try:
transport_failure = int(sys.argv[4])
@@ -188,6 +210,7 @@ def main():
socket_path,
resource,
action,
request_parameters,
)
except TransportFailure: