getRequestStream method

Stream<Map<String, dynamic>> getRequestStream({
  1. required String subName,
  2. bool useBroadCast = false,
})

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;
}