Skip to content

Commit 0694ba3

Browse files
committed
fix: eg response handling
1 parent 2a8645b commit 0694ba3

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/pybox/remote.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,9 @@ def start(
245245
# kernel already exists, in which case the `kernel_id` must not be None
246246
# enterprise gateway does not provide a good response code
247247
response = requests.get(urljoin(self.host, f"/api/kernels/{kernel_id}"), timeout=60)
248+
if not response.ok:
249+
error_msg = f"Error starting kernel: {response.status_code}\n{response.content}"
250+
raise RuntimeError(error_msg)
248251
else:
249252
error_msg = f"Error starting kernel: {response.status_code}\n{response.content}"
250253
raise RuntimeError(error_msg)
@@ -273,17 +276,19 @@ async def astart(
273276
_body = kernel_request.model_dump()
274277
logger.debug("Starting kernel with payload %s", _body)
275278
async with aiohttp.ClientSession(self.host) as session, session.post("/api/kernels", json=_body) as response:
279+
resp_text = await response.text()
276280
if not response.ok:
277-
if "Kernel already exists:" in response.text:
281+
if "Kernel already exists:" in resp_text:
278282
# kernel already exists, in which case the `kernel_id` must not be None
279283
# enterprise gateway does not provide a good response code
280284
async with session.get(f"/api/kernels/{kernel_id}") as resp:
281285
resp_text = await resp.text()
286+
if not resp.ok:
287+
error_msg = f"Error starting kernel: {resp.status}\n{resp.content}"
288+
raise RuntimeError(error_msg)
282289
else:
283290
error_msg = f"Error starting kernel: {response.status}\n{response.content}"
284291
raise RuntimeError(error_msg)
285-
else:
286-
resp_text = await response.text()
287292
kernel = Kernel.model_validate_json(resp_text)
288293
box = RemotePyBox(kernel, self.get_ws_url(kernel.id))
289294
try:

0 commit comments

Comments
 (0)