diff --git a/java/src/org/openqa/selenium/devtools/v134/v134Network.java b/java/src/org/openqa/selenium/devtools/v134/v134Network.java index dc815ae22af3a..04d2b0baf31e4 100644 --- a/java/src/org/openqa/selenium/devtools/v134/v134Network.java +++ b/java/src/org/openqa/selenium/devtools/v134/v134Network.java @@ -191,7 +191,21 @@ protected Command continueRequest(RequestPaused pausedReq, HttpRequest req } List headers = new ArrayList<>(); - req.forEachHeader((name, value) -> headers.add(new HeaderEntry(name, value))); + + // First add the original headers from the paused request to preserve them + pausedReq + .getRequest() + .getHeaders() + .forEach((name, value) -> headers.add(new HeaderEntry(name, String.valueOf(value)))); + + // Then add any new headers from the modified request, which will override existing ones if + // present + req.forEachHeader( + (name, value) -> { + // Remove any existing header with the same name + headers.removeIf(h -> h.getName().equalsIgnoreCase(name)); + headers.add(new HeaderEntry(name, value)); + }); return Fetch.continueRequest( pausedReq.getRequestId(),