Skip to content

Commit b53eb5e

Browse files
committed
Re-raise JSON parsing errors
1 parent cb849ae commit b53eb5e

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

lib/kubernetes-cli.rb

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,11 @@ def version
110110
"kubectl exited with status code #{last_status.exitstatus}"
111111
end
112112

113-
JSON.parse(result)
113+
begin
114+
JSON.parse(result)
115+
rescue JSON::ParserError
116+
raise GetVersionError, "json parsing error"
117+
end
114118
end
115119

116120
T::Sig::WithoutRuntime.sig { params(cmd: T.any(String, T::Array[String])).void }
@@ -214,7 +218,11 @@ def get_object(type, namespace, name)
214218
"in namespace #{namespace}: kubectl exited with status code #{last_status.exitstatus}"
215219
end
216220

217-
JSON.parse(result)
221+
begin
222+
JSON.parse(result)
223+
rescue JSON::ParserError
224+
raise GetResourceError, "json parsing error"
225+
end
218226
end
219227

220228
T::Sig::WithoutRuntime.sig {
@@ -248,7 +256,11 @@ def get_objects(type, namespace, match_labels = {})
248256
"in namespace #{namespace}: kubectl exited with status code #{last_status.exitstatus}"
249257
end
250258

251-
JSON.parse(result)['items']
259+
begin
260+
JSON.parse(result)['items']
261+
rescue JSON::ParserError
262+
raise GetResourceError, "json parsing error"
263+
end
252264
end
253265

254266
T::Sig::WithoutRuntime.sig {

0 commit comments

Comments
 (0)