Help us shape the future of Go! Take the 2026 Go Developer Survey

sse

package
v0.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MIMEType = "text/event-stream"
)

Variables

View Source
var ErrWriterClosed = errors.New("sse: writer is closed")

ErrWriterClosed 在 Writer 关闭后继续写入时返回。 旧版本对已关闭的写入静默返回 nil,调用方无法感知连接已结束。

Functions

func IsSSEAcceptable

func IsSSEAcceptable(r *http.Request) bool

func SetupSSEHeaders

func SetupSSEHeaders(w http.ResponseWriter)

Types

type Event

type Event struct {
	ID    string
	Type  string
	Data  []byte
	Retry time.Duration
	// contains filtered or unexported fields
}

func NewEvent

func NewEvent() *Event

func (*Event) AppendData

func (e *Event) AppendData(data []byte)

func (*Event) AppendDataString

func (e *Event) AppendDataString(data string)

func (*Event) Clone

func (e *Event) Clone() *Event

func (*Event) IsSetData

func (e *Event) IsSetData() bool

func (*Event) IsSetID

func (e *Event) IsSetID() bool

func (*Event) IsSetRetry

func (e *Event) IsSetRetry() bool

func (*Event) IsSetType

func (e *Event) IsSetType() bool

func (*Event) Release

func (e *Event) Release()

func (*Event) SetData

func (e *Event) SetData(data []byte)

func (*Event) SetDataString

func (e *Event) SetDataString(data string)

func (*Event) SetEvent

func (e *Event) SetEvent(eventType string)

func (*Event) SetID

func (e *Event) SetID(id string)

func (*Event) SetRetry

func (e *Event) SetRetry(retry time.Duration)

func (*Event) String

func (e *Event) String() string

type Writer

type Writer struct {
	Done func(http.ResponseWriter) error
	// contains filtered or unexported fields
}

func NewWriter

func NewWriter(id string, w http.ResponseWriter) *Writer

func (*Writer) Close

func (w *Writer) Close()

Close 幂等;关闭后所有写方法返回 ErrWriterClosed

func (*Writer) IsClosed

func (w *Writer) IsClosed() bool

func (*Writer) SetDone added in v0.0.12

func (w *Writer) SetDone(f func(http.ResponseWriter) error)

func (*Writer) Stream

func (w *Writer) Stream(ctx context.Context, stream *schema.StreamReader[*schema.AgenticMessage], fn func(output *schema.AgenticMessage, index int) any) error

func (*Writer) WriteComment

func (w *Writer) WriteComment(comment string) error

func (*Writer) WriteData

func (w *Writer) WriteData(data []byte) error

func (*Writer) WriteDataString

func (w *Writer) WriteDataString(data string) error

func (*Writer) WriteDone

func (w *Writer) WriteDone() error

func (*Writer) WriteEvent

func (w *Writer) WriteEvent(event *Event) error

func (*Writer) WriteEventJSON

func (w *Writer) WriteEventJSON(id, eventType string, data interface{}) error

func (*Writer) WriteEventSimple

func (w *Writer) WriteEventSimple(id, eventType string, data []byte) error

func (*Writer) WriteEventString

func (w *Writer) WriteEventString(id, eventType, data string) error

func (*Writer) WriteJSONData

func (w *Writer) WriteJSONData(data interface{}) error

func (*Writer) WriteKeepAlive

func (w *Writer) WriteKeepAlive() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL