aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/bindings.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-27 05:33:27 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-27 05:33:27 -0700
commitcf4ec2b109f8465fe244cd7a1d1dece51fe57359 (patch)
treedf075d7b4c90e00c45452144ba74469502d14af3 /src/bun.js/bindings/bindings.cpp
parent628cbc8eb347edbafdacacaa7ff90b41ca104526 (diff)
downloadbun-cf4ec2b109f8465fe244cd7a1d1dece51fe57359.tar.gz
bun-cf4ec2b109f8465fe244cd7a1d1dece51fe57359.tar.zst
bun-cf4ec2b109f8465fe244cd7a1d1dece51fe57359.zip
Handle when there are no headers to send
Diffstat (limited to 'src/bun.js/bindings/bindings.cpp')
-rw-r--r--src/bun.js/bindings/bindings.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/bun.js/bindings/bindings.cpp b/src/bun.js/bindings/bindings.cpp
index 69d836754..a7a8e8327 100644
--- a/src/bun.js/bindings/bindings.cpp
+++ b/src/bun.js/bindings/bindings.cpp
@@ -215,17 +215,20 @@ typedef struct PicoHTTPHeaders {
WebCore::FetchHeaders* WebCore__FetchHeaders__createFromPicoHeaders_(JSC__JSGlobalObject* arg0, const void* arg1)
{
PicoHTTPHeaders pico_headers = *reinterpret_cast<const PicoHTTPHeaders*>(arg1);
- Vector<KeyValuePair<String, String>> pairs;
- pairs.reserveCapacity(pico_headers.len);
- for (size_t i = 0; i < pico_headers.len; i++) {
- WTF::String name = WTF::String(pico_headers.ptr[i].name, pico_headers.ptr[i].name_len);
- WTF::String value = WTF::String(pico_headers.ptr[i].value, pico_headers.ptr[i].value_len);
- pairs.uncheckedAppend(KeyValuePair<String, String>(name, value));
+ RefPtr<WebCore::FetchHeaders> headers = adoptRef(*new WebCore::FetchHeaders({ WebCore::FetchHeaders::Guard::None, {} }));
+
+ if (pico_headers.len > 0) {
+ Vector<KeyValuePair<String, String>> pairs;
+ pairs.reserveCapacity(pico_headers.len);
+ for (size_t i = 0; i < pico_headers.len; i++) {
+ WTF::String name = WTF::String(pico_headers.ptr[i].name, pico_headers.ptr[i].name_len);
+ WTF::String value = WTF::String(pico_headers.ptr[i].value, pico_headers.ptr[i].value_len);
+ pairs.uncheckedAppend(KeyValuePair<String, String>(name, value));
+ }
+ headers->fill(WebCore::FetchHeaders::Init(WTFMove(pairs)));
+ pairs.releaseBuffer();
}
- RefPtr<WebCore::FetchHeaders> headers = adoptRef(*new WebCore::FetchHeaders({ WebCore::FetchHeaders::Guard::None, {} }));
- headers->fill(WebCore::FetchHeaders::Init(WTFMove(pairs)));
- pairs.releaseBuffer();
return headers.leakRef();
}
WebCore::FetchHeaders* WebCore__FetchHeaders__createFromUWS(JSC__JSGlobalObject* arg0, void* arg1)