sse

package
v0.9.8-preview Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrConnectionRemoved = errors.New("sse connection removed")
)

Functions

This section is empty.

Types

type Option

type Option func(*ServerTransport)

Option is a function that configures a ServerTransport

func WithChunkSize

func WithChunkSize(size int) Option

WithChunkSize sets the chunk size for writing SSE messages

type SSEClientTransport

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

SSEClientTransport implements a client-side SSE transport for MCP

func NewSSEClientTransport

func NewSSEClientTransport(endpoint string, notificationTimeout time.Duration) *SSEClientTransport

NewSSEClientTransport creates a new SSE client transport that connects to the specified endpoint

func (*SSEClientTransport) Close

func (t *SSEClientTransport) Close() error

Close implements Transport.Close

func (*SSEClientTransport) Send

Send implements Transport.Send

func (*SSEClientTransport) SetCloseHandler

func (t *SSEClientTransport) SetCloseHandler(handler func())

SetCloseHandler implements Transport.SetCloseHandler

func (*SSEClientTransport) SetErrorHandler

func (t *SSEClientTransport) SetErrorHandler(handler func(error))

SetErrorHandler implements Transport.SetErrorHandler

func (*SSEClientTransport) SetMessageHandler

func (t *SSEClientTransport) SetMessageHandler(handler func(ctx context.Context, message *transport.BaseJsonRpcMessage))

SetMessageHandler implements Transport.SetMessageHandler

func (*SSEClientTransport) Start

func (t *SSEClientTransport) Start(ctx context.Context) error

Start implements Transport.Start

func (*SSEClientTransport) WithBaseURL

func (t *SSEClientTransport) WithBaseURL(baseURL string) *SSEClientTransport

WithBaseURL sets the base URL to connect to

func (*SSEClientTransport) WithHeader

func (t *SSEClientTransport) WithHeader(key, value string) *SSEClientTransport

WithHeader adds a header to the request

type ServerTransport

type ServerTransport struct {
	*base.Transport // shared transport for handling all messages
	// contains filtered or unexported fields
}

ServerTransport implements server-side SSE transport

func NewServerTransport

func NewServerTransport(endpoint string, options ...Option) *ServerTransport

NewServerTransport creates a new SSE server transport

func (*ServerTransport) Close

func (t *ServerTransport) Close() error

Close implements Transport.Close

func (*ServerTransport) HandleMCPMessage

func (t *ServerTransport) HandleMCPMessage(w http.ResponseWriter, r *http.Request, connID int64) error

HandleMCPMessage handles incoming MCP (JSON-RPC) messages.

func (*ServerTransport) HandleSSEConnInitialize

func (t *ServerTransport) HandleSSEConnInitialize(w http.ResponseWriter) (int64, error)

HandleSSEConnInitialize handles a new SSE connection request

func (*ServerTransport) RemoveSSEConnection

func (t *ServerTransport) RemoveSSEConnection(connID int64)

RemoveSSEConnection removes an SSE connection from the transport

func (*ServerTransport) Send

Send implements Transport.Send.

func (*ServerTransport) SetCloseHandler

func (t *ServerTransport) SetCloseHandler(handler func())

SetCloseHandler implements Transport.SetCloseHandler

func (*ServerTransport) SetErrorHandler

func (t *ServerTransport) SetErrorHandler(handler func(error))

SetErrorHandler implements Transport.SetErrorHandler

func (*ServerTransport) SetMessageHandler

func (t *ServerTransport) SetMessageHandler(handler func(ctx context.Context, message *transport.BaseJsonRpcMessage))

SetMessageHandler implements Transport.SetMessageHandler

func (*ServerTransport) Start

func (t *ServerTransport) Start(ctx context.Context) error

Start implements Transport.Start

Jump to

Keyboard shortcuts

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