fix(websocket): config (#541)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
This commit is contained in:
Lorenzo Rizzotti
2023-08-08 10:32:34 -03:00
committed by GitHub
co-authored by Lucas Nogueira
parent dacde1629d
commit ac495b9fb4
2 changed files with 15 additions and 3 deletions
+13 -2
View File
@@ -1,5 +1,13 @@
import { invoke, transformCallback } from "@tauri-apps/api/tauri";
export interface ConnectionConfig {
writeBufferSize?: number;
maxWriteBufferSize?: number;
maxMessageSize?: number;
maxFrameSize?: number;
acceptUnmaskedFrames?: boolean;
}
export interface MessageKind<T, D> {
type: T;
data: D;
@@ -26,7 +34,10 @@ export default class WebSocket {
this.listeners = listeners;
}
static async connect(url: string, options?: unknown): Promise<WebSocket> {
static async connect(
url: string,
config?: ConnectionConfig,
): Promise<WebSocket> {
const listeners: Array<(arg: Message) => void> = [];
const handler = (message: Message): void => {
listeners.forEach((l) => l(message));
@@ -35,7 +46,7 @@ export default class WebSocket {
return await invoke<number>("plugin:websocket|connect", {
url,
callbackFunction: transformCallback(handler),
options,
config,
}).then((id) => new WebSocket(id, listeners));
}