mirror of
https://github.com/ading2210/libcurl.js.git
synced 2025-05-13 14:30:02 -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:
|
# Libcurl.js Changelog:
|
||||||
|
|
||||||
|
## v0.6.3 (3/20/24):
|
||||||
|
- Fix an error during websocket cleanup
|
||||||
|
|
||||||
## v0.6.1 (3/20/24):
|
## v0.6.1 (3/20/24):
|
||||||
- Fix NPM package exports
|
- 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.
|
You can call `CurlWebSocket.close` to close and clean up the websocket.
|
||||||
|
|
||||||
```js
|
```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 = () => {
|
ws.onopen = () => {
|
||||||
console.log("ws connected!");
|
console.log("ws connected!");
|
||||||
ws.send("hello".repeat(100));
|
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.
|
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
|
```js
|
||||||
let ws = new libcurl.WebSocket("wss://echo.websocket.org");
|
let ws = new libcurl.WebSocket("wss://echo.websocket.in/");
|
||||||
ws.addEventListener("open", () => {
|
ws.addEventListener("open", () => {
|
||||||
console.log("ws connected!");
|
console.log("ws connected!");
|
||||||
ws.send("hello".repeat(128));
|
ws.send("hello".repeat(128));
|
||||||
|
|
|
@ -106,7 +106,7 @@ api = {
|
||||||
WispConnection: WispConnection,
|
WispConnection: WispConnection,
|
||||||
transport: "wisp",
|
transport: "wisp",
|
||||||
|
|
||||||
WebSocket: WebSocket,
|
WebSocket: FakeWebSocket,
|
||||||
CurlWebSocket: CurlWebSocket,
|
CurlWebSocket: CurlWebSocket,
|
||||||
TLSSocket: TLSSocket,
|
TLSSocket: TLSSocket,
|
||||||
HTTPSession: HTTPSession,
|
HTTPSession: HTTPSession,
|
||||||
|
|
|
@ -132,7 +132,7 @@ class CurlSession {
|
||||||
catch (e) {
|
catch (e) {
|
||||||
//the readable stream has been closed elsewhere, so cancel the request
|
//the readable stream has been closed elsewhere, so cancel the request
|
||||||
if (e instanceof TypeError) {
|
if (e instanceof TypeError) {
|
||||||
finish_callback(-1);
|
end_callback(-1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
throw e;
|
throw e;
|
||||||
|
|
|
@ -107,7 +107,7 @@ class CurlWebSocket extends CurlSession {
|
||||||
|
|
||||||
cleanup(error=0) {
|
cleanup(error=0) {
|
||||||
if (this.http_handle) {
|
if (this.http_handle) {
|
||||||
this.remove_handle(this.http_handle);
|
this.remove_request(this.http_handle);
|
||||||
this.http_handle = null;
|
this.http_handle = null;
|
||||||
super.close();
|
super.close();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "libcurl.js",
|
"name": "libcurl.js",
|
||||||
"version": "0.6.1",
|
"version": "0.6.3",
|
||||||
"description": "An experimental port of libcurl to WebAssembly for use in the browser.",
|
"description": "An experimental port of libcurl to WebAssembly for use in the browser.",
|
||||||
"main": "libcurl.mjs",
|
"main": "libcurl.mjs",
|
||||||
"exports": {
|
"exports": {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
function test() {
|
function test() {
|
||||||
let message_len = 128*1024;
|
let message_len = 1024;
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
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.addEventListener("open", () => {
|
||||||
ws.send("hello".repeat(message_len));
|
ws.send("hello".repeat(message_len));
|
||||||
});
|
});
|
||||||
|
@ -12,8 +12,8 @@ function test() {
|
||||||
messages += 1;
|
messages += 1;
|
||||||
if (messages >= 2) {
|
if (messages >= 2) {
|
||||||
if (event.data !== "hello".repeat(message_len)) reject("unexpected response");
|
if (event.data !== "hello".repeat(message_len)) reject("unexpected response");
|
||||||
if (messages >= 11) resolve();
|
else if (messages >= 11) resolve();
|
||||||
ws.send("hello".repeat(message_len));
|
else ws.send("hello".repeat(message_len));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue