/// /// /// /// import type { IConfigComponent, ILoggerComponent } from "@well-known-components/interfaces"; import type * as http from "http"; import type * as https from "https"; import type { Socket } from "net"; import { CorsOptions } from "./cors"; /** * @alpha * @deprecated Not the final release */ export interface WebSocketServer { handleUpgrade(request: http.IncomingMessage, socket: Socket, upgradeHead: Buffer, callback: (client: any, request: http.IncomingMessage) => void): void; } /** * @public */ export type ServerComponents = { config: IConfigComponent; logs: ILoggerComponent; ws?: WebSocketServer; }; /** * @public */ export type IHttpServerOptions = { cors?: CorsOptions; } & ({ https: https.ServerOptions; } | { http: http.ServerOptions; });