proxywasm

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2023 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidMetricType = errors.New("invalid metric type")

Functions

func DownstreamDataProperty

func DownstreamDataProperty(p api.PropertyHolder) ioBufferProperty

func GetBaseContext

func GetBaseContext(id string) api.Context

func HTTPRequestBodyProperty

func HTTPRequestBodyProperty(p api.PropertyHolder) ioBufferProperty

func HTTPRequestProperty

func HTTPRequestProperty(p api.PropertyHolder) httpRequestProperty

func HTTPResponseBodyProperty

func HTTPResponseBodyProperty(p api.PropertyHolder) ioBufferProperty

func HTTPResponseProperty

func HTTPResponseProperty(p api.PropertyHolder) httpResponseProperty

func NewBytesDataSource

func NewBytesDataSource(bytes []byte) api.DataSource

func NewContext

func NewContext(rootID string) api.Context

func NewDefaultHostFunctions

func NewDefaultHostFunctions() api.ImportsHandler

func NewFileDataSource

func NewFileDataSource(fs fs.FS, filename string) api.DataSource

func NewFilterContext

func NewFilterContext(plugin api.WasmPlugin, properties api.PropertyHolder) (api.FilterContext, error)

func NewPrometheusMetricHandler

func NewPrometheusMetricHandler(registry *prometheus.Registry, logger logr.Logger) api.MetricHandler

func NewPropertyHolderWrapper

func NewPropertyHolderWrapper(properties api.PropertyHolder, parentProperties api.PropertyHolder) api.WrappedPropertyHolder

func NewRuntimeCreatorStore

func NewRuntimeCreatorStore() api.RuntimeCreatorStore

func NewStreamHandler

func NewStreamHandler(pm api.WasmPluginManager, filters []api.WasmPluginConfig) (api.StreamHandler, error)

func NewURLDataSource

func NewURLDataSource(url string) api.DataSource

func NewVMStore

func NewVMStore(runtimeCreators api.RuntimeCreatorStore, logger logr.Logger) api.VMStore

func NewWasmPluginManager

func NewWasmPluginManager(vms api.VMStore, baseContext api.Context, logger logr.Logger) api.WasmPluginManager

func NewWasmVM

func NewWasmVM(runtime api.WasmRuntime) api.WasmVM

func PluginProperty

func PluginProperty(p api.PropertyHolder) pluginProperty

func RootABIContextProperty

func RootABIContextProperty(p api.PropertyHolder) rootABIContextProperty

func StopWasmContext

func StopWasmContext(contextID int32, abiContext api.ContextHandler, logger logr.Logger) error

func Stringify

func Stringify(value interface{}) string

func TickerDoneChannelProperty

func TickerDoneChannelProperty(p api.PropertyHolder) tickerDoneChannelProperty

func UpstreamDataProperty

func UpstreamDataProperty(p api.PropertyHolder) ioBufferProperty

func UsedFiltersStreamOption

func UsedFiltersStreamOption(filterNames ...string) api.StreamOption

Types

type DefaultHostFunctions

type DefaultHostFunctions struct {
	*abi.DefaultImportsHandler
}

func (*DefaultHostFunctions) CallForeignFunction

func (d *DefaultHostFunctions) CallForeignFunction(funcName string, param []byte) ([]byte, api.WasmResult)

func (*DefaultHostFunctions) CancelGrpcCall

func (d *DefaultHostFunctions) CancelGrpcCall(token int32) api.WasmResult

func (*DefaultHostFunctions) CloseGrpcCall

func (d *DefaultHostFunctions) CloseGrpcCall(token int32) api.WasmResult

func (*DefaultHostFunctions) DefineMetric

func (d *DefaultHostFunctions) DefineMetric(metricType api.MetricType, name string) (int32, api.WasmResult)

func (*DefaultHostFunctions) Done

func (*DefaultHostFunctions) GetCurrentTimeNanoseconds

func (d *DefaultHostFunctions) GetCurrentTimeNanoseconds() (int32, api.WasmResult)

func (*DefaultHostFunctions) GetCustomBuffer

func (d *DefaultHostFunctions) GetCustomBuffer(bufferType api.BufferType) api.IoBuffer

func (*DefaultHostFunctions) GetCustomHeader

func (d *DefaultHostFunctions) GetCustomHeader(mapType api.MapType) api.HeaderMap

func (*DefaultHostFunctions) GetDownStreamData

func (d *DefaultHostFunctions) GetDownStreamData() api.IoBuffer

func (*DefaultHostFunctions) GetFuncCallData

func (d *DefaultHostFunctions) GetFuncCallData() api.IoBuffer

func (*DefaultHostFunctions) GetGrpcReceiveBuffer

func (d *DefaultHostFunctions) GetGrpcReceiveBuffer() api.IoBuffer

func (*DefaultHostFunctions) GetGrpcReceiveInitialMetaData

func (d *DefaultHostFunctions) GetGrpcReceiveInitialMetaData() api.HeaderMap

func (*DefaultHostFunctions) GetGrpcReceiveTrailerMetaData

func (d *DefaultHostFunctions) GetGrpcReceiveTrailerMetaData() api.HeaderMap

func (*DefaultHostFunctions) GetHttpCallResponseBody

func (d *DefaultHostFunctions) GetHttpCallResponseBody() api.IoBuffer

func (*DefaultHostFunctions) GetHttpCallResponseHeaders

func (d *DefaultHostFunctions) GetHttpCallResponseHeaders() api.HeaderMap

func (*DefaultHostFunctions) GetHttpCallResponseTrailer

func (d *DefaultHostFunctions) GetHttpCallResponseTrailer() api.HeaderMap

func (*DefaultHostFunctions) GetHttpRequestBody

func (d *DefaultHostFunctions) GetHttpRequestBody() api.IoBuffer

func (*DefaultHostFunctions) GetHttpRequestHeader

func (d *DefaultHostFunctions) GetHttpRequestHeader() api.HeaderMap

func (*DefaultHostFunctions) GetHttpRequestTrailer

func (d *DefaultHostFunctions) GetHttpRequestTrailer() api.HeaderMap

func (*DefaultHostFunctions) GetHttpResponseBody

func (d *DefaultHostFunctions) GetHttpResponseBody() api.IoBuffer

func (*DefaultHostFunctions) GetHttpResponseHeader

func (d *DefaultHostFunctions) GetHttpResponseHeader() api.HeaderMap

func (*DefaultHostFunctions) GetHttpResponseTrailer

func (d *DefaultHostFunctions) GetHttpResponseTrailer() api.HeaderMap

func (*DefaultHostFunctions) GetMetric

func (d *DefaultHostFunctions) GetMetric(metricID int32) (int64, api.WasmResult)

func (*DefaultHostFunctions) GetPluginConfig

func (d *DefaultHostFunctions) GetPluginConfig() api.IoBuffer

func (*DefaultHostFunctions) GetProperty

func (d *DefaultHostFunctions) GetProperty(key string) (string, api.WasmResult)

func (*DefaultHostFunctions) GetRootContextID

func (d *DefaultHostFunctions) GetRootContextID() int32

utils

func (*DefaultHostFunctions) GetUpstreamData

func (d *DefaultHostFunctions) GetUpstreamData() api.IoBuffer

func (*DefaultHostFunctions) GetVmConfig

func (d *DefaultHostFunctions) GetVmConfig() api.IoBuffer

func (*DefaultHostFunctions) GrpcCall

func (d *DefaultHostFunctions) GrpcCall(grpcService string, serviceName string, method string, data api.IoBuffer, timeoutMilliseconds int32) (int32, api.WasmResult)

func (*DefaultHostFunctions) HttpCall

func (d *DefaultHostFunctions) HttpCall(url string, headers api.HeaderMap, body api.IoBuffer, trailer api.HeaderMap, timeoutMilliseconds int32) (int32, api.WasmResult)

func (*DefaultHostFunctions) IncrementMetric

func (d *DefaultHostFunctions) IncrementMetric(metricID int32, offset int64) api.WasmResult

func (*DefaultHostFunctions) Log

func (*DefaultHostFunctions) OpenGrpcStream

func (d *DefaultHostFunctions) OpenGrpcStream(grpcService string, serviceName string, method string) (int32, api.WasmResult)

func (*DefaultHostFunctions) RecordMetric

func (d *DefaultHostFunctions) RecordMetric(metricID int32, value int64) api.WasmResult

func (*DefaultHostFunctions) RemoveMetric

func (d *DefaultHostFunctions) RemoveMetric(metricID int32) api.WasmResult

func (*DefaultHostFunctions) ResumeDownstream

func (d *DefaultHostFunctions) ResumeDownstream() api.WasmResult

func (*DefaultHostFunctions) ResumeHttpRequest

func (d *DefaultHostFunctions) ResumeHttpRequest() api.WasmResult

func (*DefaultHostFunctions) ResumeHttpResponse

func (d *DefaultHostFunctions) ResumeHttpResponse() api.WasmResult

func (*DefaultHostFunctions) ResumeUpstream

func (d *DefaultHostFunctions) ResumeUpstream() api.WasmResult

func (*DefaultHostFunctions) SendGrpcCallMsg

func (d *DefaultHostFunctions) SendGrpcCallMsg(token int32, data api.IoBuffer, endOfStream int32) api.WasmResult

func (*DefaultHostFunctions) SendHttpResp

func (d *DefaultHostFunctions) SendHttpResp(respCode int32, respCodeDetail api.IoBuffer, respBody api.IoBuffer, additionalHeaderMap api.HeaderMap, grpcCode int32) api.WasmResult

func (*DefaultHostFunctions) SetEffectiveContextID

func (d *DefaultHostFunctions) SetEffectiveContextID(contextID int32) api.WasmResult

func (*DefaultHostFunctions) SetProperty

func (d *DefaultHostFunctions) SetProperty(key string, value string) api.WasmResult

func (*DefaultHostFunctions) SetTickPeriodMilliseconds

func (d *DefaultHostFunctions) SetTickPeriodMilliseconds(tickPeriodMilliseconds int32) api.WasmResult

func (*DefaultHostFunctions) Wait

func (d *DefaultHostFunctions) Wait() api.Action

type HeaderMap

type HeaderMap interface {
	pwapi.HeaderMap

	Flatten() map[string]string
}

func NewHeaders

func NewHeaders(headers api.HeaderMap, logger logr.Logger) HeaderMap

type Headers

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

convert HeaderMap to api.HeaderMap.

func (*Headers) Add

func (h *Headers) Add(key, value string)

func (*Headers) ByteSize

func (h *Headers) ByteSize() uint64

func (*Headers) Clone

func (h *Headers) Clone() pwapi.HeaderMap

func (*Headers) Del

func (h *Headers) Del(key string)

func (*Headers) Flatten

func (h *Headers) Flatten() map[string]string

func (*Headers) Get

func (h *Headers) Get(key string) (value string, found bool)

func (*Headers) Range

func (h *Headers) Range(f func(key string, value string) bool)

func (*Headers) Set

func (h *Headers) Set(key, value string)

type HostFunctions

type HostFunctions struct {
	pwapi.ImportsHandler
	// contains filtered or unexported fields
}

func NewHostFunctions

func NewHostFunctions(properties api.PropertyHolder, options ...HostFunctionsOption) *HostFunctions

func (*HostFunctions) CallForeignFunction

func (f *HostFunctions) CallForeignFunction(funcName string, param []byte) ([]byte, pwapi.WasmResult)

func (*HostFunctions) DefineMetric

func (f *HostFunctions) DefineMetric(metricType pwapi.MetricType, name string) (int32, pwapi.WasmResult)

func (*HostFunctions) Done

func (f *HostFunctions) Done() pwapi.WasmResult

func (*HostFunctions) GetDownStreamData

func (f *HostFunctions) GetDownStreamData() pwapi.IoBuffer

func (*HostFunctions) GetHttpRequestBody

func (f *HostFunctions) GetHttpRequestBody() pwapi.IoBuffer

func (*HostFunctions) GetHttpRequestHeader

func (f *HostFunctions) GetHttpRequestHeader() pwapi.HeaderMap

func (*HostFunctions) GetHttpResponseBody

func (f *HostFunctions) GetHttpResponseBody() pwapi.IoBuffer

func (*HostFunctions) GetHttpResponseHeader

func (f *HostFunctions) GetHttpResponseHeader() pwapi.HeaderMap

func (*HostFunctions) GetPluginConfig

func (f *HostFunctions) GetPluginConfig() pwapi.IoBuffer

func (*HostFunctions) GetProperty

func (f *HostFunctions) GetProperty(key string) (string, pwapi.WasmResult)

func (*HostFunctions) GetUpstreamData

func (f *HostFunctions) GetUpstreamData() pwapi.IoBuffer

func (*HostFunctions) IncrementMetric

func (f *HostFunctions) IncrementMetric(metricID int32, offset int64) pwapi.WasmResult

func (*HostFunctions) Log

func (f *HostFunctions) Log(level pwapi.LogLevel, msg string) pwapi.WasmResult

func (*HostFunctions) Logger

func (f *HostFunctions) Logger() logr.Logger

func (*HostFunctions) RecordMetric

func (f *HostFunctions) RecordMetric(metricID int32, value int64) pwapi.WasmResult

func (*HostFunctions) SendHttpResp

func (f *HostFunctions) SendHttpResp(respCode int32, respCodeDetail pwapi.IoBuffer, respBody pwapi.IoBuffer, additionalHeaderMap pwapi.HeaderMap, grpcCode int32) pwapi.WasmResult

func (*HostFunctions) SetEffectiveContextID

func (f *HostFunctions) SetEffectiveContextID(contextID int32) pwapi.WasmResult

func (*HostFunctions) SetProperty

func (f *HostFunctions) SetProperty(key, value string) pwapi.WasmResult

func (*HostFunctions) SetTickPeriodMilliseconds

func (f *HostFunctions) SetTickPeriodMilliseconds(tickPeriodMilliseconds int32) pwapi.WasmResult

type HostFunctionsOption

type HostFunctionsOption func(hf *HostFunctions)

func SetHostFunctionsLogger

func SetHostFunctionsLogger(logger logr.Logger) HostFunctionsOption

func SetHostFunctionsMetricHandler

func SetHostFunctionsMetricHandler(h api.MetricHandler) HostFunctionsOption

type MetricType

type MetricType int32
const (
	MetricTypeCounter   MetricType = 0
	MetricTypeGauge     MetricType = 1
	MetricTypeHistogram MetricType = 2
	MetricTypeMax       MetricType = 2
)

type ParsedMetric

type ParsedMetric struct {
	Name   string
	Values map[string]string
}

func ParseEnvoyStatTag

func ParseEnvoyStatTag(tag string) ParsedMetric

type VMKey

type VMKey string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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