maybe this will fix it?
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 4e1f943..9e52424 100644
--- a/test/sse_test.dart
+++ b/test/sse_test.dart
@@ -43,7 +43,11 @@
             listDirectories: true, defaultDocument: 'index.html'));
 
     server = await io.serve(cascade.handler, 'localhost', 0);
-    webdriver = await createDriver();
+    webdriver = await createDriver(desired: {
+      'chromeOptions': {
+        'args': ['--headless']
+      }
+    });
   });
 
   tearDown(() async {