Skip to content

Commit cd1e37a

Browse files
committed
Force use case sensitivity in Websocket Upgrade to be compatible with old SIP servers.
1 parent c614caa commit cd1e37a

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

lib/src/transports/websocket_dart_impl.dart

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,14 @@ class WebSocketImpl {
8282
var request = await client.getUrl(Uri.parse(
8383
(scheme == 'wss' ? 'https' : 'http') +
8484
'://$host:$port')); // form the correct url here
85-
86-
request.headers.add('Connection', 'Upgrade');
87-
request.headers.add('Upgrade', 'websocket');
88-
request.headers.add(
89-
'Sec-WebSocket-Version', '13'); // insert the correct version here
90-
request.headers.add('Sec-WebSocket-Key', key.toLowerCase());
91-
request.headers.add('Sec-WebSocket-Protocol', 'sip');
85+
request.headers.add('Connection', 'Upgrade', preserveHeaderCase: true);
86+
request.headers.add('Upgrade', 'websocket', preserveHeaderCase: true);
87+
request.headers.add('Sec-WebSocket-Version', '13',
88+
preserveHeaderCase: true); // insert the correct version here
89+
request.headers.add('Sec-WebSocket-Key', key.toLowerCase(),
90+
preserveHeaderCase: true);
91+
request.headers
92+
.add('Sec-WebSocket-Protocol', 'sip', preserveHeaderCase: true);
9293

9394
webSocketSettings.extraHeaders.forEach((key, value) {
9495
request.headers.add(key, value);

0 commit comments

Comments
 (0)