fix typo add test
diff --git a/lib/server/sse_handler.dart b/lib/server/sse_handler.dart
index 7a5ac0e..9c1f57f 100644
--- a/lib/server/sse_handler.dart
+++ b/lib/server/sse_handler.dart
@@ -96,7 +96,7 @@
   }
 
   shelf.Response _createSseConnection(shelf.Request req, String path) {
-    if (_isClosed) return null;
+    if (_isClosed) return shelf.Response.notFound('');
     req.hijack((channel) async {
       var sink = utf8.encoder.startChunkedConversion(channel.sink);
       sink.add(_sseHeaders(req.headers['origin']));
@@ -115,7 +115,7 @@
 
       _connectionController.add(connection);
     });
-    return null;
+    return shelf.Response.notFound('');
   }
 
   String _getOriginalPath(shelf.Request req) => req.requestedUri.path;
diff --git a/test/sse_test.dart b/test/sse_test.dart
index c21345e..63c4b8e 100644
--- a/test/sse_test.dart
+++ b/test/sse_test.dart
@@ -88,7 +88,7 @@
     expect(handler.numberOfClients, 0);
   });
 
-  test('Cancelling the listener closes the conneciton', () async {
+  test('Cancelling the listener closes the connection', () async {
     expect(handler.numberOfClients, 0);
     await webdriver.get('http://localhost:${server.port}');
     var connection = await handler.connections.next;
@@ -112,6 +112,21 @@
     expect(handler.numberOfClients, 0);
   });
 
+  test('Closing the handler prevents new connections', () async {
+    expect(handler.numberOfClients, 0);
+    await webdriver.get('http://localhost:${server.port}');
+    var connection = await handler.connections.next;
+    expect(handler.numberOfClients, 1);
+
+    handler.close();
+    // Should complete since the connection is closed.
+    await connection.stream.toList();
+    assert(handler.numberOfClients == 0);
+
+    await webdriver.get('http://localhost:${server.port}');
+    expect(await handler.connections.hasNext, isFalse);
+  });
+
   test('Disconnects when navigating away', () async {
     await webdriver.get('http://localhost:${server.port}');
     expect(handler.numberOfClients, 1);