Skip to content

Commit 11cdc7d

Browse files
Merge pull request #64 from Workiva/expose-debug-transport-url
FEA-2863: Expose debug transport URL when possible
2 parents 6950704 + c3e4e6d commit 11cdc7d

File tree

8 files changed

+23
-7
lines changed

8 files changed

+23
-7
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 1.3.0
2+
3+
- Add `debugUrl` field to `SockJSOpenEvent`, which will be set to the full
4+
SockJS URL connected to by the underlying transport when using the unminified
5+
`sockjs.js` asset.
6+
17
## 1.2.0
28

39
- Migrate to null safety. SDK constraint raised to 2.12

example/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<title>SockJS Client (Dart)</title>
2121
</head>
2222
<body>
23-
<script src="/packages/sockjs_client_wrapper/sockjs_prod.js"></script>
23+
<script src="/packages/sockjs_client_wrapper/sockjs.js"></script>
2424
<script defer src="/main.dart.js"></script>
2525
</body>
2626
</html>

example/main.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ import 'package:sockjs_client_wrapper/sockjs_client_wrapper.dart';
1818

1919
Future<Null> main() async {
2020
print('Starting example');
21-
final echoUri = Uri.parse('http://localhost:9999/echo');
21+
final echoUri = Uri.parse('http://localhost:9009/echo');
2222
final options =
2323
SockJSOptions(transports: ['websocket', 'xhr-streaming', 'xhr-polling']);
2424
final socket = SockJSClient(echoUri, options: options);
2525

2626
socket.onOpen.listen((event) {
27-
print('OPEN: ${event.transport} ${event.url}');
27+
print('OPEN: ${event.transport} ${event.url} ${event.debugUrl}');
2828
});
2929

3030
socket.onMessage.listen((event) {

example/server.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ echo.on('connection', function(conn) {
2929

3030
var server = http.createServer();
3131
echo.installHandlers(server, {prefix:'/echo'});
32-
server.listen(9999, '0.0.0.0');
32+
server.listen(9009, '0.0.0.0');

lib/sockjs.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/src/client.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,11 @@ class SockJSClient extends Disposable {
165165
}
166166

167167
void _onOpen(_) {
168-
_onOpenController
169-
.add(SockJSOpenEvent(_jsClient.transport, Uri.parse(_jsClient.url)));
168+
_onOpenController.add(SockJSOpenEvent(
169+
_jsClient.transport,
170+
Uri.parse(_jsClient.url),
171+
Uri.parse(_jsClient.transportUrl ?? ''),
172+
));
170173
}
171174
}
172175

lib/src/events.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ class SockJSMessageEvent extends SockJSEvent {
4848
/// Event that represents the opening (successful connection) of a SockJS
4949
/// Client to the server.
5050
class SockJSOpenEvent extends SockJSEvent {
51+
/// More specific URL used by the underlying transport. For debug use only.
52+
final Uri debugUrl;
53+
5154
/// The transport that was used to successfully connect to the server.
5255
///
5356
/// E.g. "websocket" or "xhr-polling".
@@ -57,5 +60,5 @@ class SockJSOpenEvent extends SockJSEvent {
5760
final Uri url;
5861

5962
/// Constructs a [SockJSOpenEvent].
60-
SockJSOpenEvent(this.transport, this.url) : super._('open');
63+
SockJSOpenEvent(this.transport, this.url, this.debugUrl) : super._('open');
6164
}

lib/src/js_interop.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ class SockJS {
4141
/// E.g. "websocket" or "xhr-polling".
4242
external String get transport;
4343

44+
/// A more specific URL used by the underlying transport. For debug use only.
45+
external String? get transportUrl;
46+
4447
/// The URL of the server to which this client connected.
4548
external String get url;
4649

0 commit comments

Comments
 (0)