Comments (1)
Hi 👋🏻 https://github.com/mpetazzoni/sse.js author here.
I wanted to bring a point of clarification that sse.js does not expect a space after the colon; it supports both, as required by the SSE specification. When a space is present, it is removed from the value. See https://github.com/mpetazzoni/sse.js/blob/main/lib/sse.js#L218-L222 for the corresponding parsing logic.
For the Jooby authors: I believe you need to handle values (or new lines of the value, if it's broken into multiple data:
lines) that start with a leading space by writing it out with two spaces. To write out the following text:
This is my event.
This second line starts with a leading space.
But not this third one.
You must output:
data:This is my event.
data: This second line starts with a leading space.
data:But not this third one.
Optionally, this would result in the same value being seen by the client:
data: This is my event.
data: This second line starts with a leading space.
data: But not this third one.
And that's why it's often always easier to just output SSE fields with a space after the colon. Then you don't need extra logic.
✌🏻
from jooby.
Related Issues (20)
- Is it possible to attach handlers to only specific routes? HOT 8
- jooby-run: improve restart process (less memory/fast)
- openapi: unused path parameter produces an error HOT 3
- openapi: kotlin: support kotlin anonymous object as router
- openapi: kotlin: support extension method on kooby subclass
- reactive: Reactive types must support side-effect handlers HOT 5
- mvc: kotlin: generate controller don't support Nested generics return type
- SniHandler support? HOT 10
- kotlin: mvc: don't generate primitive types with generics type
- jooby-apt: add option to remove mvcMethod and returnType from route
- How to validate parameters using Jooby? HOT 2
- scheduler: add db-scheduler module
- ReflectiveBeanConverter should take MethodHandles.Lookup HOT 1
- 415 unsupported media type when using mount to add routes HOT 8
- assets: custom response when asset isn't found HOT 4
- router: change assets return type from `Route` to `AssetHandler`
- jooby-run: Hot reloading not working when .class file is changed by external process HOT 10
- jooby-apt: kotlin: should generates a code with !! null operator for nullable types HOT 1
- Wired behaviours between Cors and Pac4jModule HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jooby.