in lib/src/copy/web_socket_impl.dart [610:634]
void _ensureController() {
if (_controller != null) return;
_controller = StreamController(
sync: true,
onPause: _onPause,
onResume: _onResume,
onCancel: _onListen);
final stream =
_WebSocketOutgoingTransformer(webSocket).bind(_controller!.stream);
sink.addStream(stream).then((_) {
_done();
_closeCompleter.complete(webSocket);
}, onError: (error, StackTrace stackTrace) {
_closed = true;
_cancel();
if (error is ArgumentError) {
if (!_done(error, stackTrace)) {
_closeCompleter.completeError(error, stackTrace);
}
} else {
_done();
_closeCompleter.complete(webSocket);
}
});
}