From f27b4ab85a835dca217316e930291367ba6aa923 Mon Sep 17 00:00:00 2001 From: Tobe O Date: Sat, 3 Nov 2018 22:11:52 -0400 Subject: [PATCH] Bump to 2.0.0-alpha.4 --- CHANGELOG.md | 2 ++ lib/server.dart | 8 +++----- lib/websocket_context.dart | 14 +++++++------- pubspec.yaml | 1 - 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9dbea851..ddd950ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,6 @@ # 2.0.0-alpha.4 +* Remove `package:json_god`. +* Make `WebSocketContext` take any `StreamChannel`. * Strong typing updates. # 2.0.0-alpha.3 diff --git a/lib/server.dart b/lib/server.dart index ea8897eb..1fcde714 100644 --- a/lib/server.dart +++ b/lib/server.dart @@ -8,10 +8,9 @@ import 'dart:mirrors'; import 'package:angel_auth/angel_auth.dart'; import 'package:angel_framework/angel_framework.dart'; import "package:angel_framework/http.dart"; -import 'package:json_god/json_god.dart' as god; import 'package:merge_map/merge_map.dart'; +import 'package:stream_channel/stream_channel.dart'; import 'package:web_socket_channel/io.dart'; -import 'package:web_socket_channel/web_socket_channel.dart'; import 'angel_websocket.dart'; export 'angel_websocket.dart'; @@ -81,7 +80,7 @@ class AngelWebSocket { this.synchronizer, this.serializer, this.deserializer}) { - if (serializer == null) serializer = god.serialize; + if (serializer == null) serializer = json.encode; if (deserializer == null) deserializer = (params) => params; } @@ -113,7 +112,7 @@ class AngelWebSocket { dynamic result = true; if (filter != null) result = await filter(client); if (result == true) { - client.channel.sink.add((serializer ?? god.serialize)(event.toJson())); + client.channel.sink.add((serializer ?? json.encode)(event.toJson())); } }); @@ -365,7 +364,6 @@ class AngelWebSocket { if (req is HttpRequestContext && res is HttpResponseContext) { if (!WebSocketTransformer.isUpgradeRequest(req.rawRequest)) throw new AngelHttpException.badRequest(); - await res.detach(); var ws = await WebSocketTransformer.upgrade(req.rawRequest); var channel = new IOWebSocketChannel(ws); diff --git a/lib/websocket_context.dart b/lib/websocket_context.dart index a766ae78..74310bcb 100644 --- a/lib/websocket_context.dart +++ b/lib/websocket_context.dart @@ -6,8 +6,8 @@ class WebSocketContext { /// Use this to listen for events. _WebSocketEventTable on = new _WebSocketEventTable(); - /// The underlying [WebSocketChannel]. - final WebSocketChannel channel; + /// The underlying [StreamChannel]. + final StreamChannel channel; /// The original [RequestContext]. final RequestContext request; @@ -33,9 +33,9 @@ class WebSocketContext { WebSocketContext(this.channel, this.request, this.response); - /// Closes the underlying [WebSocket]. - Future close([int code, String reason]) async { - await channel.sink.close(code, reason); + /// Closes the underlying [StreamChannel]. + Future close() async { + await channel.sink.close(); _onAction.close(); _onData.close(); _onClose.add(null); @@ -44,8 +44,8 @@ class WebSocketContext { /// Sends an arbitrary [WebSocketEvent]; void send(String eventName, data) { - channel.sink.add( - god.serialize(new WebSocketEvent(eventName: eventName, data: data))); + channel.sink + .add(json.encode(new WebSocketEvent(eventName: eventName, data: data))); } /// Sends an error event. diff --git a/pubspec.yaml b/pubspec.yaml index 6595ee8e..e3216137 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,6 @@ dependencies: angel_framework: ^2.0.0-alpha angel_http_exception: ^1.0.0 http: ^0.11.0 - json_god: ^2.0.0-beta merge_map: ^1.0.0 meta: ^1.0.0 web_socket_channel: ^1.0.0