openaiproxy

package
v0.6.49 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2026 License: AGPL-3.0, Apache-2.0, MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StreamChunksFromCompletion

func StreamChunksFromCompletion(completion openai.ChatCompletion) ([]openai.ChatCompletionChunk, error)

StreamChunksFromCompletion converts a non-streaming chat completion into OpenAI SSE chunk payloads.

func StreamEventsFromResponse

func StreamEventsFromResponse(response responses.Response) ([]json.RawMessage, error)

StreamEventsFromResponse converts a non-streaming response into OpenAI Responses API SSE event payloads.

func WriteResponseSSE

func WriteResponseSSE(w io.Writer, events []json.RawMessage) error

WriteResponseSSE writes OpenAI-compatible SSE events for the given response stream events.

func WriteSSE

func WriteSSE(w io.Writer, chunks []openai.ChatCompletionChunk) error

WriteSSE writes OpenAI-compatible SSE events for the given chunks.

Types

type Config

type Config struct {
	UpstreamURL string
	Client      HTTPDoer
}

Config configures the OpenAI chat completion proxy.

type HTTPDoer

type HTTPDoer interface {
	Do(req *http.Request) (*http.Response, error)
}

HTTPDoer performs outbound HTTP requests. It matches *http.Client.

type Handler

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

Handler proxies OpenAI chat completion requests, converting streaming client requests into non-streaming upstream calls and re-emitting the response as SSE.

func NewHandler

func NewHandler(cfg Config) (*Handler, error)

NewHandler creates a proxy handler.

func (*Handler) ServeHTTP

func (h *Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

type ResponsesConfig

type ResponsesConfig struct {
	UpstreamURL string
	Client      HTTPDoer
}

ResponsesConfig configures the OpenAI responses proxy.

type ResponsesHandler

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

ResponsesHandler proxies OpenAI responses requests, converting streaming client requests into non-streaming upstream calls and re-emitting the response as SSE.

func NewResponsesHandler

func NewResponsesHandler(cfg ResponsesConfig) (*ResponsesHandler, error)

NewResponsesHandler creates a responses proxy handler.

func (*ResponsesHandler) ServeHTTP

func (h *ResponsesHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)

Jump to

Keyboard shortcuts

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