Skip to content

Commit 6a399bd

Browse files
committed
fix: properly handle malformed command output
Signed-off-by: Richard Gebhardt <[email protected]>
1 parent a04bce9 commit 6a399bd

File tree

1 file changed

+19
-9
lines changed
  • src/oci-api-mcp-server/oracle/oci_api_mcp_server

1 file changed

+19
-9
lines changed

src/oci-api-mcp-server/oracle/oci_api_mcp_server/server.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -161,17 +161,27 @@ def run_oci_command(
161161
check=True,
162162
shell=False,
163163
)
164-
return (
165-
json.loads(result.stdout)
166-
if result.stdout
167-
else {
168-
"error": result.stderr,
169-
}
170-
)
164+
165+
result.check_returncode()
166+
167+
response = {
168+
"stdout": result.stdout,
169+
"stderr": result.stderr,
170+
"returncode": result.returncode,
171+
}
172+
173+
if response["stdout"]:
174+
try:
175+
response["stdout"] = json.loads(response["stdout"])
176+
except json.JSONDecodeError as e:
177+
pass
178+
return response
171179
except subprocess.CalledProcessError as e:
172180
return {
173-
"error": e.stderr,
174-
"output": e.stdout,
181+
"command": e.cmd,
182+
"stderr": e.stderr,
183+
"stdout": e.stdout,
184+
"returncode": e.returncode,
175185
}
176186

177187

0 commit comments

Comments
 (0)