server

package
v3.16.10 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterAuthRoutes

func RegisterAuthRoutes(oidc *iam.OIDC, mux *AuthMux) error

RegisterAuthRoutes registers the OAuth2 authentication routes

func SetOriginHeader

func SetOriginHeader(h http.Handler) http.Handler

SetOriginHeader is middleware that copies the Origin header from the request to the response This is necessary when using AllowAllOrigins because the browser will complain if the response header is the "*" and not the same origin as on the request. The cors handler in the connect library doesn't do this by default.

Types

type AssetsFileSystemProvider added in v3.16.5

type AssetsFileSystemProvider interface {
	GetAssetsFileSystem() (fs.FS, error)
}

AssetsFileSystemProvider is an interface for providing asset filesystems. This allows the server to be decoupled from how assets are constructed.

func NewDefaultAssetsFileSystemProvider added in v3.16.5

func NewDefaultAssetsFileSystemProvider(staticAssets string) AssetsFileSystemProvider

NewDefaultAssetsFileSystemProvider creates a new default asset filesystem provider that serves assets from the static assets directory.

func NewFallbackAssetsFileSystemProvider added in v3.16.5

func NewFallbackAssetsFileSystemProvider(providers ...AssetsFileSystemProvider) AssetsFileSystemProvider

NewFallbackAssetsFileSystemProvider creates a provider that tries multiple providers in order until one succeeds. Returns the first error if all providers fail.

func NewStaticAssetsFileSystemProvider added in v3.16.5

func NewStaticAssetsFileSystemProvider(staticAssets string) AssetsFileSystemProvider

NewStaticAssetsFileSystemProvider creates a provider that serves assets from a directory.

type AuthMux

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

AuthMux wraps http.ServeMux to add protected route handling

func NewAuthMux

func NewAuthMux(serverConfig *config.AssistantServerConfig, oidc *iam.OIDC) (*AuthMux, error)

NewAuthMux creates a new AuthMux

func (*AuthMux) Handle

func (p *AuthMux) Handle(pattern string, handler http.Handler)

Handle registers a handler for the given pattern

func (*AuthMux) HandleFunc

func (p *AuthMux) HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request))

HandleFunc registers a handler function for the given pattern

func (*AuthMux) HandleProtected

func (p *AuthMux) HandleProtected(pattern string, handler http.Handler, checker iam.Checker, role string)

HandleProtected registers a protected handler for the given pattern

func (*AuthMux) HandleProtectedFunc

func (p *AuthMux) HandleProtectedFunc(pattern string, handler func(http.ResponseWriter, *http.Request))

HandleProtectedFunc registers a protected handler function for the given pattern

func (*AuthMux) ServeHTTP

func (p *AuthMux) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP implements http.Handler

type Options

type Options struct {
	Telemetry *config.TelemetryConfig
	Server    *config.AssistantServerConfig
	ConfigDir string
	WebApp    *agentv1.WebAppConfig
	IAMPolicy *api.IAMPolicy
	// RegisterHandlers is a callback that allows you to register additional handlers in the server.
	// These could be regular HTTP handlers or proto services.
	RegisterHandlers RegisterHandlers
	// AssetsFileSystemProvider is an optional asset filesystem provider. If nil, a default implementation
	// will be used when the agent is enabled.
	AssetsFileSystemProvider AssetsFileSystemProvider
	// TapFactory creates a StreamTap for each new multiplexer run.
	// If nil, no recording is performed.
	TapFactory stream.TapFactory
}

type RegisterHandlers added in v3.15.1

type RegisterHandlers func(mux *AuthMux, checker iam.Checker, interceptors []connect.Interceptor) error

type Server

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

func NewServer

func NewServer(opts Options, agent agentv1connect.MessagesServiceHandler) (*Server, error)

NewServer creates a new server

func (*Server) BuildHandler added in v3.16.6

func (s *Server) BuildHandler() (http.Handler, error)

Run starts the http server Cells until its shutdown. BuildHandler registers services and returns the HTTP handler. This can be used to serve requests in-process (e.g. for relay tunneling).

func (*Server) Run

func (s *Server) Run() error

Jump to

Keyboard shortcuts

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