From e8ce2e4982f0d5f3dd4d40d2ff1383d8e31ccf23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20My=C5=9Bli=C5=84ski?= Date: Thu, 19 Mar 2026 10:38:38 +0100 Subject: [PATCH 1/2] pl-api: fix request body serialization for formData and bodiless requests --- packages/pl-api/lib/request.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/pl-api/lib/request.ts b/packages/pl-api/lib/request.ts index 25d0e1a6b..f64e9679a 100644 --- a/packages/pl-api/lib/request.ts +++ b/packages/pl-api/lib/request.ts @@ -113,11 +113,13 @@ function request( else if (this.accessToken) headers.set('Authorization', `Bearer ${this.accessToken}`); else if (this.customAuthorizationToken) headers.set('Authorization', this.customAuthorizationToken); - if (!formData) headers.set('Content-Type', contentType); + body = + body && (formData || contentType === '') + ? serialize(body, { indices: true }) + : JSON.stringify(body); + if (!formData && body) headers.set('Content-Type', contentType); if (idempotencyKey) headers.set('Idempotency-Key', idempotencyKey); - body = body && contentType === '' ? serialize(body, { indices: true }) : JSON.stringify(body); - // Fetch API doesn't report upload progress, use XHR if (onUploadProgress) { return new Promise>((resolve, reject) => { From 4af0ba05c802dbbfe408afec94b3008499286b21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Thu, 19 Mar 2026 10:52:44 +0100 Subject: [PATCH 2/2] pl-api: simplify --- packages/pl-api/lib/request.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/pl-api/lib/request.ts b/packages/pl-api/lib/request.ts index f64e9679a..5017708cc 100644 --- a/packages/pl-api/lib/request.ts +++ b/packages/pl-api/lib/request.ts @@ -113,13 +113,11 @@ function request( else if (this.accessToken) headers.set('Authorization', `Bearer ${this.accessToken}`); else if (this.customAuthorizationToken) headers.set('Authorization', this.customAuthorizationToken); - body = - body && (formData || contentType === '') - ? serialize(body, { indices: true }) - : JSON.stringify(body); - if (!formData && body) headers.set('Content-Type', contentType); + if (!formData) headers.set('Content-Type', contentType); if (idempotencyKey) headers.set('Idempotency-Key', idempotencyKey); + body = body && formData ? serialize(body, { indices: true }) : JSON.stringify(body); + // Fetch API doesn't report upload progress, use XHR if (onUploadProgress) { return new Promise>((resolve, reject) => {