Documentation
¶
Index ¶
Constants ¶
View Source
const (
PluginContextID uint32 = 1 // TODO: support multiple pluginContext
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EmulatorOption ¶
type EmulatorOption struct {
// contains filtered or unexported fields
}
func NewEmulatorOption ¶
func NewEmulatorOption() *EmulatorOption
func (*EmulatorOption) WithPluginConfiguration ¶
func (o *EmulatorOption) WithPluginConfiguration(data []byte) *EmulatorOption
func (*EmulatorOption) WithVMConfiguration ¶
func (o *EmulatorOption) WithVMConfiguration(data []byte) *EmulatorOption
func (*EmulatorOption) WithVMContext ¶ added in v0.13.0
func (o *EmulatorOption) WithVMContext(context types.VMContext) *EmulatorOption
type HostEmulator ¶
type HostEmulator interface { // Root StartVM() types.OnVMStartStatus StartPlugin() types.OnPluginStartStatus FinishVM() bool GetCalloutAttributesFromContext(contextID uint32) []HttpCalloutAttribute CallOnHttpCallResponse(contextID uint32, headers [][2]string, trailers [][2]string, body []byte) GetCounterMetric(name string) (uint64, error) GetGaugeMetric(name string) (uint64, error) GetHistogramMetric(name string) (uint64, error) GetTraceLogs() []string GetDebugLogs() []string GetInfoLogs() []string GetWarnLogs() []string GetErrorLogs() []string GetCriticalLogs() []string GetTickPeriod() uint32 Tick() GetQueueSize(queueID uint32) int RegisterForeignFunction(name string, f func([]byte) []byte) // network InitializeConnection() (contextID uint32, action types.Action) CallOnUpstreamData(contextID uint32, data []byte) types.Action CallOnDownstreamData(contextID uint32, data []byte) types.Action CloseUpstreamConnection(contextID uint32) CloseDownstreamConnection(contextID uint32) CompleteConnection(contextID uint32) // http InitializeHttpContext() (contextID uint32) CallOnResponseHeaders(contextID uint32, headers [][2]string, endOfStream bool) types.Action CallOnResponseBody(contextID uint32, body []byte, endOfStream bool) types.Action CallOnResponseTrailers(contextID uint32, trailers [][2]string) types.Action CallOnRequestHeaders(contextID uint32, headers [][2]string, endOfStream bool) types.Action CallOnRequestTrailers(contextID uint32, trailers [][2]string) types.Action CallOnRequestBody(contextID uint32, body []byte, endOfStream bool) types.Action CompleteHttpContext(contextID uint32) GetCurrentHttpStreamAction(contextID uint32) types.Action GetCurrentRequestHeaders(contextID uint32) [][2]string GetCurrentRequestBody(contextID uint32) []byte GetSentLocalResponse(contextID uint32) *LocalHttpResponse }
func NewHostEmulator ¶
func NewHostEmulator(opt *EmulatorOption) (host HostEmulator, reset func())
type HttpCalloutAttribute ¶
Click to show internal directories.
Click to hide internal directories.