getRequestStream method
Returns a stream of parsed SSE events.
If you need precise control over the event stream, prefer using SseSourceController or implementing SseSourceControllerBase.
subName is the subscription name. This name is used to
distinguish connection events for multiple streams.
useBroadCast determines if the stream is broadcast.
Implementation
Stream<Map<String, dynamic>> getRequestStream({
required String subName,
bool useBroadCast = false,
}) {
final controller = SseSourceController(
isBroadCast: useBroadCast,
name: subName,
sseStreamBuilder: (client) => sendStreamedRequest(client: client),
onNewConnection: (name) =>
dev.log('Creating new SSE connection to "$name"'),
onConnected: (name) => dev.log('Established SSE connection to "$name"'),
onCloseConnection: (name, wasConnected) {
if (wasConnected) {
dev.log('Closed SSE subscription $name');
} else {
dev.log('Closed SSE subscription $name without being opened');
}
},
);
return controller.stream;
}