// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'package:shelf/shelf_io.dart' as io;
import 'package:sse/server/sse_handler.dart';

/// A basic server which sets up an SSE handler.
///
/// When a client connects it will send a simple message and print the
/// response.
void main() async {
  var handler = SseHandler(Uri.parse('/sseHandler'));
  await io.serve(handler.handler, 'localhost', 0);
  var connections = handler.connections;
  while (await connections.hasNext) {
    var connection = await connections.next;
    connection.sink.add('foo');
    connection.stream.listen(print);
  }
}
