@@ -165,11 +165,26 @@ class WebSocket with TimerHelper {
165
165
'stream-auth-type' : token.authType.name,
166
166
...queryParameters,
167
167
};
168
- final scheme = baseUrl.startsWith ('https' ) ? 'wss' : 'ws' ;
169
- final host = baseUrl.replaceAll (RegExp (r'(^\w+:|^)\/\/' ), '' );
168
+
169
+ final scheme = switch (baseUrl) {
170
+ final url when url.startsWith (RegExp ('^(ws?|http?)://' )) => 'ws' ,
171
+ final url when url.startsWith (RegExp ('^(wss?|https?)://' )) => 'wss' ,
172
+ _ => throw const FormatException ('Invalid url format' ),
173
+ };
174
+
175
+ final address = baseUrl.replaceAll (RegExp (r'(^\w+:|^)\/\/' ), '' );
176
+ final (: host, : port) = switch (address.split (':' )) {
177
+ [final host] => (host: host, port: null ),
178
+ [final host, final port] => (host: host, port: int .tryParse (port)),
179
+ _ => throw const FormatException ('Invalid address format' ),
180
+ };
181
+
182
+ _logger? .info ('[buildUri] #ws; scheme: $scheme , host: $host , port: $port ' );
183
+
170
184
return Uri (
171
185
scheme: scheme,
172
186
host: host,
187
+ port: port,
173
188
pathSegments: ['connect' ],
174
189
queryParameters: qs,
175
190
);
@@ -199,6 +214,7 @@ class WebSocket with TimerHelper {
199
214
final uri = await _buildUri (
200
215
includeUserDetails: includeUserDetails,
201
216
);
217
+ _logger? .info ('[connect] #ws; uri: $uri ' );
202
218
_initWebSocketChannel (uri);
203
219
} catch (e, stk) {
204
220
_onConnectionError (e, stk);
@@ -230,6 +246,7 @@ class WebSocket with TimerHelper {
230
246
refreshToken: refreshToken,
231
247
includeUserDetails: false ,
232
248
);
249
+ _logger? .info ('[reconnect] #ws; uri: $uri ' );
233
250
try {
234
251
_initWebSocketChannel (uri);
235
252
} catch (e, stk) {
@@ -350,7 +367,8 @@ class WebSocket with TimerHelper {
350
367
}
351
368
352
369
void _onConnectionError (error, [stacktrace]) {
353
- _logger? .warning ('Error occurred' , error, stacktrace);
370
+ _logger? .warning (
371
+ '[onConnectionError] #ws; error occurred' , error, stacktrace);
354
372
355
373
StreamWebSocketError wsError;
356
374
if (error is WebSocketChannelException ) {
0 commit comments