OptionalauthAuthenticates every WebSocket upgrade with a credential carried in its
subprotocol offer instead of a session cookie. This is how a web
application served from another origin, which QuestDB lists in
qwp.browser.allowed.origins, connects. Pass a fixed credential, or a
QwpBrowserAuthProvider the client calls before every connect,
reconnect, and failover attempt, for example to supply a refreshed OIDC
access token. Under a client's cluster it authenticates both sides, and
a provider is called before every connection attempt of either side.
QuestDB accepts the credential only from a listed origin: a page served
from QuestDB's own origin must be listed too, or keep using
sessionBootstrap. It creates no session for the credential and ignores
cookies on the upgrade. Use wss:: the credential travels in the opening
HTTP request. Cannot be combined with sessionBootstrap.
OptionalcloseMaximum time allowed for a graceful WebSocket close. Defaults to 15s.
Capped at 2,147,483,647ms (the host timer ceiling); a larger value throws
a RangeError.
OptionalconnectNode TCP/TLS connection deadline, or the complete opening deadline in a
browser. Defaults to 15s. Capped at 2,147,483,647ms (the host timer
ceiling); a larger value throws a RangeError.
OptionalfailoverAdditional endpoints attempted in order when the preferred endpoint fails.
OptionalprotocolsOptionalsendMaximum time a send may remain queued by the WebSocket. Defaults to 15s.
Capped at 2,147,483,647ms (the host timer ceiling); a larger value throws
a RangeError.
OptionalsessionAuthenticates over REST before every WebSocket connection attempt so the
browser can attach QuestDB's HttpOnly session cookies to the upgrade.
Without a url, it targets /exec beside the endpoint being connected.
Cannot be combined with auth.
OptionalwebTest or framework hook; defaults to the browser's global WebSocket. Under
a client's cluster it is shared, and either side may override it.
Browser WebSocket transport and authentication, shared by both sides.
Browsers cannot set Authorization or X-QWP-* upgrade headers. QuestDB accepts browser upgrades when Origin and Host have the same authority, or when the server lists the Origin in
qwp.browser.allowed.origins. When authentication is enabled, a same-origin app can passsessionBootstrapor call bootstrapQwpBrowserSession() first so the browser can attachqdb_session; an app on a listed origin passesauthinstead.