@@ -7,6 +7,9 @@ import 'dart:io';
7
7
import 'dart:typed_data' ;
8
8
import 'package:logging/logging.dart' ;
9
9
import '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;
10
13
import 'package:socket_io_common/src/engine/parser/parser.dart' ;
11
14
12
15
class IOWebSocketTransport extends Transport {
@@ -20,8 +23,11 @@ class IOWebSocketTransport extends Transport {
20
23
Map ? perMessageDeflate;
21
24
Map <String , dynamic >? extraHeaders;
22
25
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) {
25
31
var forceBase64 = opts['forceBase64' ] ?? false ;
26
32
supportsBinary = ! forceBase64;
27
33
perMessageDeflate = opts['perMessageDeflate' ];
@@ -32,21 +38,11 @@ class IOWebSocketTransport extends Transport {
32
38
@override
33
39
void doOpen () async {
34
40
var uri = this .uri ();
35
- var protocols = this .protocols;
36
-
37
41
try {
38
- ws = await WebSocket .connect (uri,
39
- protocols: protocols, headers: extraHeaders);
42
+ ws = await httpClientAdapter.connect (uri, headers: extraHeaders);
40
43
} catch (err) {
41
44
return emit ('error' , err);
42
45
}
43
-
44
- // if (this.ws?.binaryType == null) {
45
- // this.supportsBinary = false;
46
- // }
47
- //
48
- // this.ws?.binaryType = 'arraybuffer';
49
-
50
46
addEventListeners ();
51
47
}
52
48
0 commit comments