defmodule HTTP.EventSource.Event.Open do
@moduledoc """
Browser-compatible EventSource open event.
"""
defstruct target: nil, type: "open"
@type t :: %__MODULE__{target: HTTP.EventSource.t() | nil, type: String.t()}
end
defmodule HTTP.EventSource.Event.Message do
@moduledoc """
Browser-compatible EventSource message event.
"""
defstruct target: nil, type: "message", data: "", origin: "", last_event_id: ""
@type t :: %__MODULE__{
target: HTTP.EventSource.t() | nil,
type: String.t(),
data: String.t(),
origin: String.t(),
last_event_id: String.t()
}
end
defmodule HTTP.EventSource.Event.Error do
@moduledoc """
Browser-compatible EventSource error event.
"""
defstruct target: nil, type: "error", reason: nil
@type t :: %__MODULE__{
target: HTTP.EventSource.t() | nil,
type: String.t(),
reason: term()
}
end