mirror of
https://github.com/ading2210/libcurl.js.git
synced 2025-05-13 14:30:02 -04:00
add libcurl error strings to fetch error messages
This commit is contained in:
parent
c9236f90d5
commit
155d5ea5b6
8 changed files with 18 additions and 10 deletions
|
@ -67,7 +67,6 @@ function perform_request(url, params, js_data_callback, js_end_callback, body=nu
|
|||
_free(url_ptr);
|
||||
_free(response_json_ptr);
|
||||
|
||||
if (error != 0) console.error("request failed with error code " + error);
|
||||
active_requests --;
|
||||
js_end_callback(error, response_info);
|
||||
}
|
||||
|
@ -172,7 +171,9 @@ function perform_request_async(url, params, body) {
|
|||
|
||||
let finish_callback = (error, response_info) => {
|
||||
if (error != 0) {
|
||||
reject("libcurl.js encountered an error: " + error);
|
||||
let error_str = `Request failed with error code ${error}: ${get_error_str(error)}`;
|
||||
if (error != 0) error_msg(error_str);
|
||||
reject(error_str);
|
||||
return;
|
||||
}
|
||||
let response_data = merge_arrays(chunks);
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
//currently broken
|
||||
|
||||
class TLSSocket extends CustomWebSocket {
|
||||
class TLSSocket {
|
||||
constructor(hostname, port, debug) {
|
||||
super();
|
||||
this.hostname = hostname;
|
||||
this.port = port;
|
||||
this.url = `https://${hostname}:${port}`;
|
||||
|
|
|
@ -34,6 +34,11 @@ function allocate_array(array) {
|
|||
return allocate(array, ALLOC_NORMAL);
|
||||
}
|
||||
|
||||
function get_error_str(error_code) {
|
||||
let error_ptr = _get_error_str(error_code);
|
||||
return UTF8ToString(error_ptr);
|
||||
}
|
||||
|
||||
//convert any data to a uint8array
|
||||
async function data_to_array(data) {
|
||||
let data_array = null;
|
||||
|
|
|
@ -60,7 +60,6 @@ class CurlWebSocket {
|
|||
_free(data_ptr);
|
||||
_free(result_ptr);
|
||||
}
|
||||
console.log(result_code);
|
||||
|
||||
if (result_code === 0) { //CURLE_OK - data received
|
||||
if (_get_result_closed(result_ptr)) {
|
||||
|
@ -72,8 +71,6 @@ class CurlWebSocket {
|
|||
let data_size = _get_result_size(result_ptr);
|
||||
let data_heap = Module.HEAPU8.subarray(data_ptr, data_ptr + data_size);
|
||||
let data = new Uint8Array(data_heap);
|
||||
|
||||
console.log(data, data_size, buffer_size, _get_result_bytes_left(result_ptr));
|
||||
|
||||
this.recv_buffer.push(data);
|
||||
if (data_size !== buffer_size && !_get_result_bytes_left(result_ptr)) { //message finished
|
||||
|
@ -88,7 +85,7 @@ class CurlWebSocket {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//CURLE_GOT_NOTHING, CURLE_RECV_ERROR, CURLE_SEND_ERROR - socket closed
|
||||
else if (result_code === 52 || result_code === 55 || result_code === 56) {
|
||||
this.cleanup();
|
||||
|
|
|
@ -44,7 +44,7 @@ class FakeWebSocket extends EventTarget {
|
|||
|
||||
this.socket.onerror = (error) => {
|
||||
this.status = this.CLOSED;
|
||||
console.error(`websocket ${this.url} encountered an error (${error})`);
|
||||
error_msg(`websocket ${this.url} encountered an error (${error})`);
|
||||
let error_event = new Event("error");
|
||||
this.dispatchEvent(error_event);
|
||||
this.onerror(error_event);
|
||||
|
@ -66,7 +66,7 @@ class FakeWebSocket extends EventTarget {
|
|||
throw "invalid binaryType string";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
let msg_event = new MessageEvent("message", {data: converted});
|
||||
this.onmessage(msg_event);
|
||||
this.dispatchEvent(msg_event);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue