Merge branch 'main' into reclaimtls

This commit is contained in:
ading2210 2024-11-04 15:06:11 -05:00
commit 4ff2d179b0
9 changed files with 42 additions and 16 deletions

View file

@ -4,7 +4,7 @@ class HTTPSession extends CurlSession {
this.options = options;
this.base_url = undefined;
this.set_connections(50, 40);
this.set_connections(50, 40, 6);
this.import_cookies();
}
@ -181,6 +181,17 @@ class HTTPSession extends CurlSession {
for (let [header_name, header_value] of response_info.headers) {
response_obj.headers.append(header_name, header_value);
}
//hack to fix invalid blob type
let response_proto = Object.getPrototypeOf(response_obj);
response_obj.blob = async () => {
let blob = await response_proto.blob.call(response_obj);
let mime_type = blob.type.split(";")[0].trim();
Object.defineProperty(blob, "type", {
value: mime_type
});
return blob;
}
return response_obj;
}

View file

@ -1,6 +1,6 @@
/*
ading2210/libcurl.js - A port of libcurl to WASM for the browser.
Copyright (C) 2023 ading2210
Copyright (C) 2024 ading2210
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by

View file

@ -28,9 +28,9 @@ class CurlSession {
}
}
set_connections(connections_limit, cache_limit) {
set_connections(connections_limit, cache_limit, host_conn_limit=0) {
this.assert_ready();
_session_set_options(this.session_ptr, connections_limit, cache_limit);
_session_set_options(this.session_ptr, connections_limit, cache_limit, host_conn_limit);
}
end_callback(request_id, error) {
@ -41,8 +41,7 @@ class CurlSession {
data_callback(request_id, chunk_ptr, chunk_size) {
let data = Module.HEAPU8.subarray(chunk_ptr, chunk_ptr + chunk_size);
let chunk = new Uint8Array(data);
this.request_callbacks[request_id].data(chunk);
this.request_callbacks[request_id].data(data);
}
headers_callback(request_id, chunk_ptr, chunk_size) {