Skip to content

Commit 43ba378

Browse files
authored
fix: send x-playwright-browser (#844)
1 parent 4916ba2 commit 43ba378

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

playwright/src/main/java/com/microsoft/playwright/impl/BrowserTypeImpl.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,22 @@ private Browser connectImpl(String wsEndpoint, ConnectOptions options) {
6464
// We don't use gson() here as the headers map should be serialized to a json object.
6565
JsonObject params = new Gson().toJsonTree(options).getAsJsonObject();
6666
params.addProperty("wsEndpoint", wsEndpoint);
67+
68+
if (!params.has("headers")) {
69+
params.add("headers", new JsonObject());
70+
}
71+
JsonObject headers = params.get("headers").getAsJsonObject();
72+
boolean foundBrowserHeader = false;
73+
for (String name : headers.keySet()) {
74+
if ("x-playwright-browser".equalsIgnoreCase(name)) {
75+
foundBrowserHeader = true;
76+
break;
77+
}
78+
}
79+
if (!foundBrowserHeader) {
80+
headers.addProperty("x-playwright-browser", name());
81+
}
82+
6783
JsonObject json = sendMessage("connect", params).getAsJsonObject();
6884
JsonPipe pipe = connection.getExistingObject(json.getAsJsonObject("pipe").get("guid").getAsString());
6985
Connection connection = new Connection(pipe);

playwright/src/test/java/com/microsoft/playwright/TestBrowserTypeConnect.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
import java.util.*;
3333
import java.util.stream.Collectors;
3434

35-
import static com.microsoft.playwright.Utils.mapOf;
36-
import static com.microsoft.playwright.Utils.parseTrace;
35+
import static com.microsoft.playwright.Utils.*;
3736
import static java.nio.charset.StandardCharsets.UTF_8;
3837
import static java.util.Arrays.asList;
3938
import static org.junit.jupiter.api.Assertions.*;
@@ -166,6 +165,7 @@ void shouldSendExtraHeadersWithConnectRequest() throws Exception {
166165
}
167166
assertNotNull(webSocketServer.lastClientHandshake);
168167
assertEquals("Playwright", webSocketServer.lastClientHandshake.getFieldValue("User-Agent"));
168+
assertEquals(browserType.name(), webSocketServer.lastClientHandshake.getFieldValue("x-playwright-browser"));
169169
assertEquals("bar", webSocketServer.lastClientHandshake.getFieldValue("foo"));
170170
}
171171
}

0 commit comments

Comments
 (0)