mirror of
https://github.com/ading2210/libcurl.js.git
synced 2025-05-11 13:30:01 -04:00
bugfixes for websocket api
This commit is contained in:
parent
7284487430
commit
3a50060e07
7 changed files with 13 additions and 10 deletions
|
@ -1,5 +1,8 @@
|
|||
# Libcurl.js Changelog:
|
||||
|
||||
## v0.6.3 (3/20/24):
|
||||
- Fix an error during websocket cleanup
|
||||
|
||||
## v0.6.1 (3/20/24):
|
||||
- Fix NPM package exports
|
||||
|
||||
|
|
|
@ -155,7 +155,7 @@ The `CurlWebSocket.send` function can be used to send data to the websocket. The
|
|||
You can call `CurlWebSocket.close` to close and clean up the websocket.
|
||||
|
||||
```js
|
||||
let ws = new libcurl.CurlWebSocket("wss://echo.websocket.org", [], {verbose: 1});
|
||||
let ws = new libcurl.CurlWebSocket("wss://echo.websocket.in/", [], {verbose: 1});
|
||||
ws.onopen = () => {
|
||||
console.log("ws connected!");
|
||||
ws.send("hello".repeat(100));
|
||||
|
@ -167,7 +167,7 @@ ws.onmessage = (data) => {
|
|||
|
||||
You can also use the `libcurl.WebSocket` object, which works identically to the regular [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket) object. It uses the same arguments as the simpler `CurlWebSocket` API.
|
||||
```js
|
||||
let ws = new libcurl.WebSocket("wss://echo.websocket.org");
|
||||
let ws = new libcurl.WebSocket("wss://echo.websocket.in/");
|
||||
ws.addEventListener("open", () => {
|
||||
console.log("ws connected!");
|
||||
ws.send("hello".repeat(128));
|
||||
|
|
|
@ -106,7 +106,7 @@ api = {
|
|||
WispConnection: WispConnection,
|
||||
transport: "wisp",
|
||||
|
||||
WebSocket: WebSocket,
|
||||
WebSocket: FakeWebSocket,
|
||||
CurlWebSocket: CurlWebSocket,
|
||||
TLSSocket: TLSSocket,
|
||||
HTTPSession: HTTPSession,
|
||||
|
|
|
@ -132,7 +132,7 @@ class CurlSession {
|
|||
catch (e) {
|
||||
//the readable stream has been closed elsewhere, so cancel the request
|
||||
if (e instanceof TypeError) {
|
||||
finish_callback(-1);
|
||||
end_callback(-1);
|
||||
}
|
||||
else {
|
||||
throw e;
|
||||
|
|
|
@ -107,7 +107,7 @@ class CurlWebSocket extends CurlSession {
|
|||
|
||||
cleanup(error=0) {
|
||||
if (this.http_handle) {
|
||||
this.remove_handle(this.http_handle);
|
||||
this.remove_request(this.http_handle);
|
||||
this.http_handle = null;
|
||||
super.close();
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "libcurl.js",
|
||||
"version": "0.6.1",
|
||||
"version": "0.6.3",
|
||||
"description": "An experimental port of libcurl to WebAssembly for use in the browser.",
|
||||
"main": "libcurl.mjs",
|
||||
"exports": {
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
function test() {
|
||||
let message_len = 128*1024;
|
||||
let message_len = 1024;
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
let ws = new libcurl.WebSocket("wss://echo.websocket.org");
|
||||
let ws = new libcurl.WebSocket("wss://echo.websocket.in/");
|
||||
ws.addEventListener("open", () => {
|
||||
ws.send("hello".repeat(message_len));
|
||||
});
|
||||
|
@ -12,8 +12,8 @@ function test() {
|
|||
messages += 1;
|
||||
if (messages >= 2) {
|
||||
if (event.data !== "hello".repeat(message_len)) reject("unexpected response");
|
||||
if (messages >= 11) resolve();
|
||||
ws.send("hello".repeat(message_len));
|
||||
else if (messages >= 11) resolve();
|
||||
else ws.send("hello".repeat(message_len));
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue