MCPcopy Create free account
hub / github.com/nodejs/node / #onConnectionEstablished

Method #onConnectionEstablished

deps/undici/undici.js:16132–16168  ·  view source on GitHub ↗

* @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol

(response, parsedExtensions)

Source from the content-addressed store, hash-verified

16130 * @see https://websockets.spec.whatwg.org/#feedback-from-the-protocol
16131 */
16132 #onConnectionEstablished(response, parsedExtensions) {
16133 this.#handler.socket = response.socket;
16134 const maxFragments = this.#handler.controller.dispatcher?.webSocketOptions?.maxFragments;
16135 const maxPayloadSize = this.#handler.controller.dispatcher?.webSocketOptions?.maxPayloadSize;
16136 const parser = new ByteParser(this.#handler, parsedExtensions, {
16137 maxFragments,
16138 maxPayloadSize
16139 });
16140 parser.on("drain", () => this.#handler.onParserDrain());
16141 parser.on("error", (err) => this.#handler.onParserError(err));
16142 this.#parser = parser;
16143 this.#sendQueue = new SendQueue(response.socket);
16144 this.#handler.readyState = states.OPEN;
16145 const extensions = response.headersList.get("sec-websocket-extensions");
16146 if (extensions !== null) {
16147 this.#extensions = extensions;
16148 }
16149 const protocol = response.headersList.get("sec-websocket-protocol");
16150 if (protocol !== null) {
16151 this.#protocol = protocol;
16152 }
16153 fireEvent("open", this);
16154 if (channels.open.hasSubscribers) {
16155 const headers = response.headersList.entries;
16156 channels.open.publish({
16157 address: getSocketAddress(response.socket),
16158 protocol: this.#protocol,
16159 extensions: this.#extensions,
16160 websocket: this,
16161 handshakeResponse: {
16162 status: response.status,
16163 statusText: response.statusText,
16164 headers
16165 }
16166 });
16167 }
16168 }
16169 #onMessage(type, data) {
16170 if (this.#handler.readyState !== states.OPEN) {
16171 return;

Callers 1

_WebSocketClass · 0.95

Calls 5

fireEventFunction · 0.70
getSocketAddressFunction · 0.70
getMethod · 0.65
onMethod · 0.45
publishMethod · 0.45

Tested by

no test coverage detected