This package aims to provide simple, minimal and essential networking infrastructures for QuickJS.
Currently, it can:
- Creating WebSocket
server
- Creating WebSocket
client
fetch
Requirements:
clang
libwebsockets
libcurl
To use minnet-quickjs
in your QuickJS project, run following commands:
cd your_project_dir
git clone https://github.com/khanhas/minnet-quickjs
cd minnet-quickjs
make
In your JS script:
import * as minnet from "./minnet-quickjs/minnet.so"
options
: an object with following properties:
port
: number, optional, default =7981
host
: string, optional, default ="localhost"
onConnect
: function, optional
Calls when a client connects to server. Returns client'sMinnetWebsocket
instance in parameter. Syntax:
onConnect: (client_socket) => {
print("A client connected")
}
onClose(why)
: function, optional
Call when client disconnects from server. Returns disconnect reason in parameter. Syntax:
onClose: (why) => {
print("Client disconnected. Reason: ", why)
}
onMessage
: function, optional
Call when client sends a message to server. Returns client'sMinnetWebsocket
instance and received message in parameters. Syntax:
onMessage: (client_socket, message) => {
print("Received: ", message)
}
onPong
: function, optional
Call when client sends a pong. Returns client'sMinnetWebsocket
instance and received ArrayBuffer data in parameters. Syntax:
onPong: (client_socket, data) => {
print("Pongged: ", data)
}
options
: an object with following properties:
port
: number, optional, default =7981
host
: string, optional, default ="localhost"
onConnect
: function, optional
Calls when client connects to server succesfully. Returns server'sMinnetWebsocket
instance in parameter. Syntax:
onConnect: (server_socket) => {
print("Connected to server")
}
onClose(why)
: function, optional
Call when client disconnects from server. Returns disconnect reason in parameter. Syntax:
onClose: (why) => {
print("Disconnected from server. Reason: ", why)
}
onMessage
: function, optional
Call when server sends message to client. Returns server'sMinnetWebsocket
instance and received message in parameters. Syntax:
onMessage: (server_socket, message) => {
print("Received: ", message)
}
onPong
: function, optional
Call when server sends a pong. Returns server'sMinnetWebsocket
instance and received ArrayBuffer data in parameters. Syntax:
onPong: (server_socket, data) => {
print("Pongged: ", data)
}
contains socket to a server or client. You can use these methods to communicate:
.send(message)
:message
can be string or ArrayBuffer.ping(data)
:data
must be ArrayBuffer.pong(data)
:data
must be ArrayBuffer
url
: a string to download resources from.
Returns MinnetResponse
object that you can use these
Methods:
.text()
: Get body text as string.json()
: Get body text, parse as JSON and returns parsed object..arrayBuffer()
: Get body as anArrayBuffer
Properties:
.ok
: boolean, Read-only
Whether the response was successful.url
: string, Read-only
URL of the response.status
: number, Read-only
Status code of the response.type
: string, Read-only
Type of the response
Check out example.mjs