Index: pkg/analysis_server/lib/src/channel.dart |
diff --git a/pkg/analysis_server/lib/src/channel.dart b/pkg/analysis_server/lib/src/channel.dart |
index 103c2b77acc39d9420ab98f31e89ac446fc8c9a2..859a393f5640987c28a02bdb1904168444d71240 100644 |
--- a/pkg/analysis_server/lib/src/channel.dart |
+++ b/pkg/analysis_server/lib/src/channel.dart |
@@ -29,6 +29,11 @@ abstract class CommunicationChannel { |
void sendNotification(Notification notification); |
/** |
+ * Send the given [request] to the server. |
+ */ |
+ void sendRequest(Request request); |
+ |
+ /** |
* Send the given [response] to the client. |
*/ |
void sendResponse(Response response); |
@@ -44,6 +49,8 @@ class WebSocketChannel implements CommunicationChannel { |
*/ |
final WebSocket socket; |
+ final JsonEncoder jsonEncoder = const JsonEncoder(null); |
+ |
/** |
* Initialize a newly create [WebSocket] wrapper to wrap the given [socket]. |
*/ |
@@ -57,14 +64,17 @@ class WebSocketChannel implements CommunicationChannel { |
@override |
void sendNotification(Notification notification) { |
- JsonEncoder encoder = const JsonEncoder(null); |
- socket.add(encoder.convert(notification.toJson())); |
+ socket.add(jsonEncoder.convert(notification.toJson())); |
+ } |
+ |
+ @override |
+ void sendRequest(Request request) { |
+ socket.add(jsonEncoder.convert(request.toJson())); |
} |
@override |
void sendResponse(Response response) { |
- JsonEncoder encoder = const JsonEncoder(null); |
- socket.add(encoder.convert(response.toJson())); |
+ socket.add(jsonEncoder.convert(response.toJson())); |
} |
/** |