From 9f889d6675f4c0d03eac6b6ed8ef020e359682e9 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Fri, 24 Jan 2025 15:55:31 +0100 Subject: [PATCH] review --- src/Playwright.NUnit/BrowserService.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Playwright.NUnit/BrowserService.cs b/src/Playwright.NUnit/BrowserService.cs index 955d6f8e2..0574f3e3d 100644 --- a/src/Playwright.NUnit/BrowserService.cs +++ b/src/Playwright.NUnit/BrowserService.cs @@ -25,6 +25,7 @@ using System; using System.Collections.Generic; using System.Globalization; +using System.Linq; using System.Text.Json; using System.Text.Json.Serialization; using System.Threading.Tasks; @@ -50,10 +51,14 @@ private static async Task CreateBrowser(IBrowserType browserType, Play { if (connectOptions != null) { - return await browserType.ConnectAsync(connectOptions.WSEndpoint, connectOptions).ConfigureAwait(false); + var options = new BrowserTypeConnectOptions(connectOptions); + var headers = options.Headers?.ToDictionary(kvp => kvp.Key, kvp => kvp.Value) ?? []; + headers.Add("x-playwright-launch-options", JsonSerializer.Serialize(PlaywrightSettingsProvider.LaunchOptions, new JsonSerializerOptions() { DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull })); + options.Headers = headers; + return await browserType.ConnectAsync(connectOptions.WSEndpoint, options).ConfigureAwait(false); } - var legacyBrowser = await ConnectToLegacyService(browserType); + var legacyBrowser = await ConnectBasedOnEnv(browserType); if (legacyBrowser != null) { return legacyBrowser; @@ -61,8 +66,8 @@ private static async Task CreateBrowser(IBrowserType browserType, Play return await browserType.LaunchAsync(PlaywrightSettingsProvider.LaunchOptions).ConfigureAwait(false); } - // TODO: Remove after Q3 2025 - private static async Task ConnectToLegacyService(IBrowserType browserType) + // TODO: Remove at some point + private static async Task ConnectBasedOnEnv(IBrowserType browserType) { var accessToken = Environment.GetEnvironmentVariable("PLAYWRIGHT_SERVICE_ACCESS_TOKEN"); var serviceUrl = Environment.GetEnvironmentVariable("PLAYWRIGHT_SERVICE_URL");