sseHandler method

  1. @protected
Future<void> sseHandler(
  1. HttpResponse res
)

Implementation

@protected
Future<void> sseHandler(HttpResponse res) async {
  res.headers.contentType = ContentType.parse('text/event-stream');
  res.headers.add(HttpHeaders.cacheControlHeader, 'no-cache');
  res.headers.add(HttpHeaders.connectionHeader, 'keep-alive');
  res.headers.add(HttpHeaders.transferEncodingHeader, 'chunked');

  void writeSSE(String data) {
    res.add(utf8.encode('data: $data\n\n'));
  }

  await for (var event in data) {
    writeSSE(jsonEncode(event));
    await res.flush();
  }

  await res.close();
}