addons

package
v2.4.2 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2024 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CacheStatusHeader      = "X-Llm_proxy-Cache"
	CacheStatusHit         = "HIT"
	CacheStatusMiss        = "MISS"
	CacheStatusSkip        = "SKIP"
	DefaultMemoryCacheSize = 1000 // number of records to cache per URL
)

Variables

This section is empty.

Functions

This section is empty.

Types

type APIAuditorAddon

type APIAuditorAddon struct {
	px.BaseAddon
	// contains filtered or unexported fields
}

APIAuditorAddon log connection and flow

func NewAPIAuditor

func NewAPIAuditor(logger *slog.Logger) *APIAuditorAddon

func (*APIAuditorAddon) Close

func (aud *APIAuditorAddon) Close() error

func (*APIAuditorAddon) Response

func (aud *APIAuditorAddon) Response(f *px.Flow)

type AddIDToHeaders added in v2.4.0

type AddIDToHeaders struct {
	px.BaseAddon
}

func NewAddIDToHeaders added in v2.4.0

func NewAddIDToHeaders() *AddIDToHeaders

func (*AddIDToHeaders) Response added in v2.4.0

func (c *AddIDToHeaders) Response(f *px.Flow)

type ClosableAddon added in v2.2.0

type ClosableAddon interface {
	String() string
	Close() error
}

ClosableAddon is an interface that defines an addon that can be closed

type MegaTrafficDumper added in v2.2.0

type MegaTrafficDumper struct {
	px.BaseAddon
	// contains filtered or unexported fields
}

func NewMegaTrafficDumperAddon added in v2.2.0

func NewMegaTrafficDumperAddon(
	logger *slog.Logger,
	logTarget string,
	logFormatConfig config.LogFormat,
	logSources config.LogSourceConfig,
	filterReqHeaders *config.HeaderFilterGroup,
	filterRespHeaders *config.HeaderFilterGroup,
) (*MegaTrafficDumper, error)

NewMegaTrafficDumperAddon creates a new dumper that creates a new log file for each request

func (*MegaTrafficDumper) Close added in v2.2.0

func (d *MegaTrafficDumper) Close() error

func (*MegaTrafficDumper) Requestheaders added in v2.2.0

func (d *MegaTrafficDumper) Requestheaders(f *px.Flow)

Requestheaders is a callback that will receive a "flow" from the proxy, will create a NewLogDumpContainer and will use the embedded writers to finally write the log.

func (*MegaTrafficDumper) String added in v2.2.0

func (d *MegaTrafficDumper) String() string

type RequestAndResponseValidator added in v2.4.1

type RequestAndResponseValidator struct {
	px.BaseAddon
	// contains filtered or unexported fields
}

func NewRequestAndResponseValidator added in v2.4.1

func NewRequestAndResponseValidator(logger *slog.Logger) *RequestAndResponseValidator

func (*RequestAndResponseValidator) Request added in v2.4.1

func (c *RequestAndResponseValidator) Request(f *px.Flow)

Request validates the request, and does not use the normal logger, because the request may not have all the necessary fields needed to log.

func (*RequestAndResponseValidator) Response added in v2.4.1

func (c *RequestAndResponseValidator) Response(f *px.Flow)

Response validates the response, and does not use the normal logger, because the response may not have all the necessary fields needed to log.

type ResponseCacheAddon

type ResponseCacheAddon struct {
	px.BaseAddon
	// contains filtered or unexported fields
}

func NewCacheAddon

func NewCacheAddon(
	logger *slog.Logger,
	storageEngineName string,
	cacheDir string,
	filterReqHeaders *config.HeaderFilterGroup,
	filterRespHeaders *config.HeaderFilterGroup,
) (*ResponseCacheAddon, error)

NewCacheAddon creates a new ResponseCacheAddon.

Parameters:

  • logger: the DI'd logger
  • storageEngineName: name of the storage engine to use
  • cacheDir: output & cache storage directory
  • filterReqHeaders: which headers to filter out from the request before logging
  • filterRespHeaders: which headers to filter out from the response before logging

Returns:

A new instance of ResponseCacheAddon (or error if one occurred)

func (*ResponseCacheAddon) Close

func (d *ResponseCacheAddon) Close() error

func (*ResponseCacheAddon) Request

func (c *ResponseCacheAddon) Request(f *px.Flow)

func (*ResponseCacheAddon) Response

func (c *ResponseCacheAddon) Response(f *px.Flow)

func (*ResponseCacheAddon) String

func (d *ResponseCacheAddon) String() string

type SchemeUpgrader

type SchemeUpgrader struct {
	px.BaseAddon
	// contains filtered or unexported fields
}

func NewSchemeUpgrader added in v2.2.0

func NewSchemeUpgrader(logger *slog.Logger) *SchemeUpgrader

func (*SchemeUpgrader) Request

func (c *SchemeUpgrader) Request(f *px.Flow)

func (*SchemeUpgrader) Response

func (c *SchemeUpgrader) Response(f *px.Flow)

type StdOutLogger

type StdOutLogger struct {
	px.BaseAddon
	// contains filtered or unexported fields
}

StdOutLogger log connection and flow

func NewStdOutLogger

func NewStdOutLogger(logger *slog.Logger) *StdOutLogger

func (*StdOutLogger) ClientConnected

func (a *StdOutLogger) ClientConnected(client *px.ClientConn)

func (*StdOutLogger) ClientDisconnected

func (a *StdOutLogger) ClientDisconnected(client *px.ClientConn)

func (*StdOutLogger) ServerConnected

func (a *StdOutLogger) ServerConnected(connCtx *px.ConnContext)

func (*StdOutLogger) ServerDisconnected

func (a *StdOutLogger) ServerDisconnected(connCtx *px.ConnContext)

Jump to

Keyboard shortcuts

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