@cloudamqp/amqp-client
Version:
AMQP 0-9-1 client, both for browsers (WebSocket) and node (TCP Socket)
51 lines • 1.83 kB
TypeScript
import { AMQPBaseClient, VERSION } from "./amqp-base-client.js";
import { AMQPView } from "./amqp-view.js";
import { AMQPError } from "./amqp-error.js";
import { AMQPChannel } from "./amqp-channel.js";
import { AMQPConsumer } from "./amqp-consumer.js";
import { AMQPMessage } from "./amqp-message.js";
import type { Logger } from "./types.js";
export interface AMQPWebSocketInit {
url: string;
vhost?: string;
username?: string;
password?: string;
name?: string;
frameMax?: number;
heartbeat?: number;
channelMax?: number;
logger?: Logger | null;
}
/**
* WebSocket client for AMQP 0-9-1 servers.
*/
export declare class AMQPWebSocketClient extends AMQPBaseClient {
/** WebSocket URL to connect to. */
readonly url: string;
private socket?;
private framePos;
private frameSize;
private frameBuffer;
/**
* @param url to the websocket endpoint, example: wss://server/ws/amqp
* @param logger - optional logger instance, defaults to null (no logging)
*/
constructor(url: string, vhost?: string, username?: string, password?: string, name?: string, frameMax?: number, heartbeat?: number, logger?: Logger | null);
constructor(init: AMQPWebSocketInit);
/**
* Establish a AMQP connection over WebSocket
*/
connect(): Promise<AMQPBaseClient>;
/**
* @param bytes to send
* @return fulfilled when the data is enqueued
*/
send(bytes: Uint8Array): Promise<void>;
protected closeSocket(): void;
private handleMessage;
static platform(): string;
}
export { AMQPBaseClient, AMQPChannel, AMQPConsumer, AMQPError, AMQPMessage, AMQPView, VERSION };
export { AMQPSession } from "./amqp-session.js";
export type { AMQPSessionOptions } from "./amqp-session.js";
//# sourceMappingURL=amqp-websocket-client.d.ts.map