request method
A function called when a request reaches this Link
Implementation
@override
Stream<Response> request(Request request, [NextLink? forward]) {
final controller = StreamController<Response>();
void Function()? cancelSub;
controller.onListen = () {
cancelSub = client.subscribe(request, controller.sink);
};
controller.onCancel = () {
cancelSub?.call();
cancelSub = null;
};
return controller.stream.map(
(response) {
if (response.data == null && response.errors == null) {
throw WebSocketLinkServerException(
parsedResponse: response,
// TODO pass more data?
);
}
return response;
},
);
}