From 294fbd65f37ecb0b84c45cd88314c8ac3e1c1354 Mon Sep 17 00:00:00 2001 From: ading2210 Date: Wed, 27 Mar 2024 00:49:02 -0400 Subject: [PATCH] fix handling of request objects when passed into libcurl.fetch --- CHANGELOG.md | 3 +++ client/javascript/http.js | 9 ++++++++- client/package.json | 2 +- server/wisp_server | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 612eeec..279802b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Libcurl.js Changelog: +## v0.6.7 (3/26/24): +- Fix handling of `Request` objects when passed into `libcurl.fetch` + ## v0.6.6 (3/20/24): - Fix random segfaults due to an improper invocation of libcurl diff --git a/client/javascript/http.js b/client/javascript/http.js index 56ae508..380075c 100644 --- a/client/javascript/http.js +++ b/client/javascript/http.js @@ -82,7 +82,14 @@ class HTTPSession extends CurlSession { }); } - async fetch(url, params={}) { + async fetch(resource, params={}) { + let url = resource; + if (resource instanceof Request) { + url = resource.url; + params.body = params.body || await resource.blob(); + params.headers = params.headers || Object.fromEntries(resource.headers); + params.method = params.method || resource.method; + } let body = await this.constructor.create_options(params); return await this.request_async(url, params, body); } diff --git a/client/package.json b/client/package.json index 0e118da..a71516e 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "libcurl.js", - "version": "0.6.6", + "version": "0.6.7", "description": "An experimental port of libcurl to WebAssembly for use in the browser.", "main": "libcurl.mjs", "exports": { diff --git a/server/wisp_server b/server/wisp_server index ae2ec5f..351682f 160000 --- a/server/wisp_server +++ b/server/wisp_server @@ -1 +1 @@ -Subproject commit ae2ec5f867aa64495e99facfeecf4307ec46d702 +Subproject commit 351682f7e19c8a7a58d261ba666abaae95f04f6a