class Kemal::EventStream

Overview

Helper for Server-Sent Events (SSE) responses.

Sets the required headers and formats events according to the SSE spec.

Defined in:

kemal/event_stream.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(response : HTTP::Server::Response) #

[View source]

Class Method Detail

def self.serve(context : HTTP::Server::Context, & : EventStream, HTTP::Server::Context -> ) #

Runs an SSE handler with headers configured and yields an EventStream.


[View source]

Instance Method Detail

def close : Nil #

[View source]
def comment(text : String) : self #

Sends a keep-alive comment (ignored by clients, useful during idle periods).


[View source]
def flush : Nil #

[View source]
def send(data : String, *, event : String | Nil = nil, id : String | Int | Nil = nil, retry : Time::Span | Nil = nil) : self #

Sends an SSE event. Multi-line data is split into separate data: fields.


[View source]