From e5d6ee5bd81327a26fff312ce055c7c82175483e Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Mon, 9 Sep 2024 22:28:08 +0200 Subject: [PATCH] chore: merge fetch params on server side (#32518) https://github.com/microsoft/playwright-python/pull/2546#discussion_r1750090592 --- packages/playwright-core/src/client/fetch.ts | 33 ++++--------------- .../playwright-core/src/protocol/validator.ts | 1 + packages/playwright-core/src/server/fetch.ts | 4 ++- packages/protocol/src/channels.ts | 2 ++ packages/protocol/src/protocol.yml | 1 + 5 files changed, 14 insertions(+), 27 deletions(-) diff --git a/packages/playwright-core/src/client/fetch.ts b/packages/playwright-core/src/client/fetch.ts index 7aaa5069c2..87c31579b5 100644 --- a/packages/playwright-core/src/client/fetch.ts +++ b/packages/playwright-core/src/client/fetch.ts @@ -175,8 +175,12 @@ export class APIRequestContext extends ChannelOwner= 0, `'maxRedirects' must be greater than or equal to '0'`); assert(options.maxRetries === undefined || options.maxRetries >= 0, `'maxRetries' must be greater than or equal to '0'`); const url = options.url !== undefined ? options.url : options.request!.url(); - const params = mapParamsToArray(options.params); const method = options.method || options.request?.method(); + let encodedParams = undefined; + if (typeof options.params === 'string') + encodedParams = options.params; + else if (options.params instanceof URLSearchParams) + encodedParams = options.params.toString(); // Cannot call allHeaders() here as the request may be paused inside route handler. const headersObj = options.headers || options.request?.headers(); const headers = headersObj ? headersObjectToArray(headersObj) : undefined; @@ -228,7 +232,8 @@ export class APIRequestContext extends ChannelOwner