stream

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RestoringReader

type RestoringReader struct {
	// contains filtered or unexported fields
}

RestoringReader restores placeholders for arbitrary "continuous byte streams" (supports across chunk boundaries).

Use cases:

  • Upstream returns application/json but streams via chunked/long connections (non-standard SSE). Reading all before restoring can cause long periods of no downstream output (appears "stuck").

Note: this Reader does not attempt to understand JSON structure; it only does byte-level placeholder matching/restoring.

func NewRestoringReader

func NewRestoringReader(upstream io.ReadCloser, restorer *restore.Engine) *RestoringReader

func (*RestoringReader) Close

func (r *RestoringReader) Close() error

func (*RestoringReader) Read

func (r *RestoringReader) Read(p []byte) (int, error)

type SSERestoringReader

type SSERestoringReader struct {
	// contains filtered or unexported fields
}

SSERestoringReader wraps an io.ReadCloser and restores placeholders in SSE events.

Key point: SSE streaming outputs from OpenAI-compatible APIs often deliver text as incremental "delta" fragments. Placeholders may be split across multiple SSE events, so "replace per event" can fail. This reader restores placeholders across delta events, while still keeping a whole-event fallback.

func NewSSERestoringReader

func NewSSERestoringReader(upstream io.ReadCloser, restorer *restore.Engine) *SSERestoringReader

NewSSERestoringReader creates a new SSE restoring reader

func (*SSERestoringReader) Close

func (r *SSERestoringReader) Close() error

Close implements io.Closer

func (*SSERestoringReader) Read

func (r *SSERestoringReader) Read(p []byte) (int, error)

Read implements io.Reader

Jump to

Keyboard shortcuts

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