Handle when there are no headers to send

This commit is contained in:
Jarred Sumner
2022-06-27 05:33:27 -07:00
parent 628cbc8eb3
commit cf4ec2b109
4 changed files with 15 additions and 12 deletions

View File

@@ -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)

View File

@@ -563,7 +563,7 @@ pub const FetchHeaders = opaque {
}
const PicoHeaders = extern struct {
ptr: *const anyopaque,
ptr: ?*const anyopaque,
len: usize,
};

View File

@@ -1,4 +1,4 @@
//-- AUTOGENERATED FILE -- 1656242004
//-- AUTOGENERATED FILE -- 1656323590
// clang-format off
#pragma once

View File

@@ -1,5 +1,5 @@
// clang-format off
//-- AUTOGENERATED FILE -- 1656242004
//-- AUTOGENERATED FILE -- 1656323590
#pragma once
#include <stddef.h>