in src/http_message.c [56:75]
void aws_crt_http_headers_to_blob(const aws_crt_http_headers *headers, aws_crt_buf *out_blob) {
aws_crt_http_headers *mutable_headers = (aws_crt_http_headers *)headers;
aws_byte_buf_clean_up(&mutable_headers->encoded_headers);
aws_byte_buf_init(&mutable_headers->encoded_headers, aws_crt_default_allocator(), 256);
const size_t header_count = aws_http_headers_count(headers->headers);
for (size_t idx = 0; idx < header_count; ++idx) {
struct aws_http_header header;
aws_http_headers_get_index(headers->headers, idx, &header);
aws_byte_buf_reserve_relative(
&mutable_headers->encoded_headers,
sizeof(uint32_t) + sizeof(uint32_t) + header.name.len + header.value.len);
aws_byte_buf_write_be32(&mutable_headers->encoded_headers, (uint32_t)header.name.len);
aws_byte_buf_write_from_whole_cursor(&mutable_headers->encoded_headers, header.name);
aws_byte_buf_write_be32(&mutable_headers->encoded_headers, (uint32_t)header.value.len);
aws_byte_buf_write_from_whole_cursor(&mutable_headers->encoded_headers, header.value);
}
out_blob->blob = headers->encoded_headers.buffer;
out_blob->length = headers->encoded_headers.len;
}