@@ -7,6 +7,9 @@ import 'dart:io';
77import 'dart:typed_data' ;
88import 'package:logging/logging.dart' ;
99import 'package:socket_io_client/src/engine/transport.dart' ;
10+ import 'package:socket_io_client/src/engine/transport/http_client_adapter.dart' ;
11+ import 'package:socket_io_client/src/engine/transport/http_client_adapter_factory.dart'
12+ as httpClientAdapterFactory;
1013import 'package:socket_io_common/src/engine/parser/parser.dart' ;
1114
1215class IOWebSocketTransport extends Transport {
@@ -20,8 +23,11 @@ class IOWebSocketTransport extends Transport {
2023 Map ? perMessageDeflate;
2124 Map <String , dynamic >? extraHeaders;
2225 WebSocket ? ws;
23-
24- IOWebSocketTransport (Map opts) : super (opts) {
26+ HttpClientAdapter httpClientAdapter;
27+ IOWebSocketTransport (Map opts)
28+ : httpClientAdapter = opts['httpClientAdapter' ] ??
29+ httpClientAdapterFactory.createPlatformHttpClientAdapter (),
30+ super (opts) {
2531 var forceBase64 = opts['forceBase64' ] ?? false ;
2632 supportsBinary = ! forceBase64;
2733 perMessageDeflate = opts['perMessageDeflate' ];
@@ -32,21 +38,11 @@ class IOWebSocketTransport extends Transport {
3238 @override
3339 void doOpen () async {
3440 var uri = this .uri ();
35- var protocols = this .protocols;
36-
3741 try {
38- ws = await WebSocket .connect (uri,
39- protocols: protocols, headers: extraHeaders);
42+ ws = await httpClientAdapter.connect (uri, headers: extraHeaders);
4043 } catch (err) {
4144 return emit ('error' , err);
4245 }
43-
44- // if (this.ws?.binaryType == null) {
45- // this.supportsBinary = false;
46- // }
47- //
48- // this.ws?.binaryType = 'arraybuffer';
49-
5046 addEventListeners ();
5147 }
5248
0 commit comments