diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/WebSocketRouteImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/WebSocketRouteImpl.java index ab9ed40a..e39ba4a1 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/WebSocketRouteImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/WebSocketRouteImpl.java @@ -160,9 +160,9 @@ protected void handleEvent(String event, JsonObject params) { sendMessageAsync("sendToPage", messageParams); } } else if ("closePage".equals(event)) { - int code = params.get("code").getAsInt(); - String reason = params.get("reason").getAsString(); - boolean wasClean = params.get("wasClean").getAsBoolean(); + Integer code = params.has("code") ? params.get("code").getAsInt() : null; + String reason = params.has("reason") ? params.get("reason").getAsString() : null; + boolean wasClean = params.has("wasClean") && params.get("wasClean").getAsBoolean(); if (onPageClose != null) { onPageClose.accept(code, reason); } else { @@ -173,9 +173,9 @@ protected void handleEvent(String event, JsonObject params) { sendMessageAsync("closeServer", closeParams); } } else if ("closeServer".equals(event)) { - int code = params.get("code").getAsInt(); - String reason = params.get("reason").getAsString(); - boolean wasClean = params.get("wasClean").getAsBoolean(); + Integer code = params.has("code") ? params.get("code").getAsInt() : null; + String reason = params.has("reason") ? params.get("reason").getAsString() : null; + boolean wasClean = params.has("wasClean") && params.get("wasClean").getAsBoolean(); if (onServerClose != null) { onServerClose.accept(code, reason); } else {