supabase-lite-proxy
Version:
HTTP proxy server that bridges external API calls to browser-based Supabase Lite instances. Supports WebSocket mode for local development and PostMessage mode for production deployments.
42 lines (41 loc) • 1.06 kB
TypeScript
import { EventEmitter } from 'events';
export interface ProxyRequest {
id: string;
method: string;
url: string;
headers: Record<string, string>;
body?: string;
}
export interface ProxyResponse {
status: number;
headers: Record<string, string>;
body: any;
}
export interface WebSocketMessage {
type: 'request' | 'response';
requestId: string;
method?: string;
url?: string;
headers?: Record<string, string>;
body?: string;
response?: ProxyResponse;
projectContext?: {
projectId: string;
apiType: string;
};
}
export declare class WebSocketClient extends EventEmitter {
private url;
private ws;
private reconnectAttempts;
private readonly maxReconnectAttempts;
private readonly reconnectDelay;
private connectionPromise;
constructor(url: string);
connect(): Promise<void>;
private _connect;
private scheduleReconnect;
sendRequest(request: ProxyRequest): Promise<ProxyResponse>;
isConnected(): boolean;
disconnect(): void;
}