-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
Happy to do this as a PR given it seems trivial to add, but prefer to ask before sending unsolicited PRs.
| const ws = new NodeWebSocket(url); |
This should allow passing of the parent ws library options to allow setting headers and other environment-specific options that might be required.
A practical example I just ran into was a Chromium fork that requires authentication headers to be sent with the websocket request.
The implementation I'd suggest to avoid breaking any existing API is something like:
import type { ClientOptions } from "ws"
// ... other imports
export default async function openWebSocket(
url: string,
raceCancellation?: RaceCancellation,
clientOptions?: ClientOptions
): Promise<[AttachMessageTransport, CloseWebSocket]> {
const ws = new NodeWebSocket(url, clientOptions);
// ... remaining code
}This allows appending the options as an optional trailing arg which avoids any breaking change or API surface modification.
Metadata
Metadata
Assignees
Labels
No labels