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
|
@ -88,6 +88,7 @@ sed -i "/__extra_libraries__/r $JAVSCRIPT_DIR/tls_socket.js" $OUT_FILE
|
|||
sed -i "/__extra_libraries__/r $JAVSCRIPT_DIR/websocket.js" $OUT_FILE
|
||||
sed -i "/__extra_libraries__/r $JAVSCRIPT_DIR/ws_polyfill.js" $OUT_FILE
|
||||
sed -i "/__extra_libraries__/r $JAVSCRIPT_DIR/util.js" $OUT_FILE
|
||||
sed -i "/__extra_libraries__/r $JAVSCRIPT_DIR/logger.js" $OUT_FILE
|
||||
|
||||
#apply patches
|
||||
python3 tools/patch_js.py $FRAGMENTS_DIR $OUT_FILE
|
||||
|
|
|
@ -5,6 +5,7 @@ active_requests
|
|||
|
||||
get_version
|
||||
get_cacert
|
||||
get_error_str
|
||||
|
||||
recv_from_websocket
|
||||
send_to_websocket
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -34,4 +34,8 @@ char* get_version() {
|
|||
char* version_json_str = cJSON_Print(version_json);
|
||||
cJSON_Delete(version_json);
|
||||
return version_json_str;
|
||||
}
|
||||
|
||||
const char* get_error_str(CURLcode error_code) {
|
||||
return curl_easy_strerror(error_code);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue