1
0
Fork 0

Fix types on stream API response.

main
Icedream 2025-04-28 14:43:52 +02:00
parent 0cc13cc0e3
commit 8c462278b0
Signed by: icedream
GPG Key ID: 468BBEEBB9EC6AEA
1 changed files with 20 additions and 8 deletions

View File

@ -30,15 +30,27 @@ def setup_harbor_stream_api(s) =
], data=json.stringify([])) ], data=json.stringify([]))
end end
def normalize_float(f) =
if float.is_infinite(f) or float.is_nan(f) then
0.
else
f
end
end
def on_info(_) = def on_info(_) =
data = [ data = {
("id", s.id()), duration = normalize_float(s.duration()),
("last_metadata", json.stringify(s.last_metadata())), elapsed = normalize_float(s.elapsed()),
("is_up", json.stringify(s.is_up())), id = s.id(),
("is_started", json.stringify(s.is_started())), is_active = s.is_active(),
("is_ready", json.stringify(s.is_ready())), is_ready = s.is_ready(),
("is_active", json.stringify(s.is_active())), is_started = s.is_started(),
] is_up = s.is_up(),
last_metadata = s.last_metadata(),
remaining = normalize_float(s.remaining()),
time = normalize_float(s.time()),
}
http.response(status_code=200, headers=[ http.response(status_code=200, headers=[
("content-type","application/json"), ("content-type","application/json"),
], data=json.stringify(data)) ], data=json.stringify(data))