From 1c6e1fc058fc54c65bcdb551c107b68ebb1952ae Mon Sep 17 00:00:00 2001 From: Gary Roumanis Date: Wed, 11 Sep 2019 16:18:28 -0700 Subject: [PATCH 1/2] Use proper header delimiter. --- CHANGELOG.md | 4 ++++ lib/server/sse_handler.dart | 12 +++++++----- pubspec.yaml | 2 +- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1921db..232aa09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.1.1 + +- Use proper headers delimiter. + ## 2.1.0 - Support Firefox. diff --git a/lib/server/sse_handler.dart b/lib/server/sse_handler.dart index 83017ff..5372c5d 100644 --- a/lib/server/sse_handler.dart +++ b/lib/server/sse_handler.dart @@ -11,12 +11,14 @@ import 'package:pedantic/pedantic.dart'; import 'package:shelf/shelf.dart' as shelf; import 'package:stream_channel/stream_channel.dart'; +// RFC 2616 requires carriage return delimiters. String _sseHeaders(String origin) => 'HTTP/1.1 200 OK\r\n' - 'Content-Type: text/event-stream\n\n' - 'Cache-Control: no-cache\n\n' - 'Connection: keep-alive\n\n' - 'Access-Control-Allow-Credentials: true\n\n' - 'Access-Control-Allow-Origin: $origin\n\n' + 'Content-Type: text/event-stream\r\n' + 'Cache-Control: no-cache\r\n' + 'Connection: keep-alive\r\n' + 'Access-Control-Allow-Credentials: true\r\n' + 'Access-Control-Allow-Origin: $origin\r\n' + // Firefox requires double new line. '\n\n'; /// A bi-directional SSE connection between server and browser. diff --git a/pubspec.yaml b/pubspec.yaml index e2631cc..ae8b8fe 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: sse -version: 2.1.0 +version: 2.1.1 author: Dart Team homepage: https://github.com/dart-lang/sse description: >- From 26de58c54b6cd6cef7f5bf416a93dd8fabef08b0 Mon Sep 17 00:00:00 2001 From: Gary Roumanis Date: Wed, 11 Sep 2019 17:22:57 -0700 Subject: [PATCH 2/2] consistency --- lib/server/sse_handler.dart | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/server/sse_handler.dart b/lib/server/sse_handler.dart index 5372c5d..1a5ef06 100644 --- a/lib/server/sse_handler.dart +++ b/lib/server/sse_handler.dart @@ -18,8 +18,7 @@ String _sseHeaders(String origin) => 'HTTP/1.1 200 OK\r\n' 'Connection: keep-alive\r\n' 'Access-Control-Allow-Credentials: true\r\n' 'Access-Control-Allow-Origin: $origin\r\n' - // Firefox requires double new line. - '\n\n'; + '\r\n\r\n'; /// A bi-directional SSE connection between server and browser. class SseConnection extends StreamChannelMixin {