Documentation ¶
Index ¶
- Constants
- func ConvertUserDataToBytes(data interface{}) []byte
- type Context
- type EventRequest
- type FunctionContext
- func (ctx *FunctionContext) DestroyDaprClient()
- func (ctx *FunctionContext) GetBindingEvent() *common.BindingEvent
- func (ctx *FunctionContext) GetCloudEvent() *cloudevents.Event
- func (ctx *FunctionContext) GetContext() *FunctionContext
- func (ctx *FunctionContext) GetError() error
- func (ctx *FunctionContext) GetHttpPattern() string
- func (ctx *FunctionContext) GetInnerEvent() InnerEvent
- func (ctx *FunctionContext) GetInputs() map[string]*Input
- func (ctx *FunctionContext) GetMode() string
- func (ctx *FunctionContext) GetName() string
- func (ctx *FunctionContext) GetNativeContext() context.Context
- func (ctx *FunctionContext) GetOut() Out
- func (ctx *FunctionContext) GetOutputs() map[string]*Output
- func (ctx *FunctionContext) GetPluginsTracingCfg() TracingConfig
- func (ctx *FunctionContext) GetPodName() string
- func (ctx *FunctionContext) GetPodNamespace() string
- func (ctx *FunctionContext) GetPort() string
- func (ctx *FunctionContext) GetPostPlugins() []string
- func (ctx *FunctionContext) GetPrePlugins() []string
- func (ctx *FunctionContext) GetRuntime() Runtime
- func (ctx *FunctionContext) GetSyncRequest() *SyncRequest
- func (ctx *FunctionContext) GetTopicEvent() *common.TopicEvent
- func (ctx *FunctionContext) HasInputs() bool
- func (ctx *FunctionContext) HasOutputs() bool
- func (ctx *FunctionContext) InitDaprClientIfNil()
- func (ctx *FunctionContext) ReturnOnInternalError() Out
- func (ctx *FunctionContext) ReturnOnSuccess() Out
- func (ctx *FunctionContext) Send(outputName string, data []byte) ([]byte, error)
- func (ctx *FunctionContext) SetEvent(inputName string, event interface{})
- func (ctx *FunctionContext) SetNativeContext(c context.Context)
- func (ctx *FunctionContext) SetSyncRequest(w http.ResponseWriter, r *http.Request)
- func (ctx *FunctionContext) WithError(err error) RuntimeContext
- func (ctx *FunctionContext) WithOut(out *FunctionOut) RuntimeContext
- type FunctionOut
- type InnerEvent
- type Input
- type NativeContext
- type Out
- type Output
- type PluginsTracing
- type ResourceType
- type ResponseWriterWrapper
- type Runtime
- type RuntimeContext
- type SyncRequest
- type TracingConfig
- type TracingProvider
Constants ¶
View Source
const ( TestModeEnvName = "TEST_MODE" FunctionContextEnvName = "FUNC_CONTEXT" PodNameEnvName = "POD_NAME" PodNamespaceEnvName = "POD_NAMESPACE" ModeEnvName = "CONTEXT_MODE" Async Runtime = "Async" Knative Runtime = "Knative" OpenFuncBinding ResourceType = "bindings" OpenFuncTopic ResourceType = "pubsub" Success = 200 InternalError = 500 TracingProviderSkywalking = "skywalking" TracingProviderOpentelemetry = "opentelemetry" KubernetesMode = "kubernetes" SelfHostMode = "self-host" TestModeOn = "on" )
Variables ¶
This section is empty.
Functions ¶
func ConvertUserDataToBytes ¶
func ConvertUserDataToBytes(data interface{}) []byte
Types ¶
type Context ¶
type Context interface { NativeContext // Send provides the ability to allow the user to send data to a specified output target. Send(outputName string, data []byte) ([]byte, error) // ReturnOnSuccess returns the Out with a success state. ReturnOnSuccess() Out // ReturnOnInternalError returns the Out with an error state. ReturnOnInternalError() Out // GetSyncRequest returns the pointer of SyncRequest. GetSyncRequest() *SyncRequest // GetBindingEvent returns the pointer of common.BindingEvent. GetBindingEvent() *common.BindingEvent // GetTopicEvent returns the pointer of common.TopicEvent. GetTopicEvent() *common.TopicEvent // GetCloudEvent returns the pointer of v2.Event. GetCloudEvent() *cloudevents.Event // GetInnerEvent returns the InnerEvent. GetInnerEvent() InnerEvent }
type EventRequest ¶
type EventRequest struct { InputName string `json:"inputName,omitempty"` BindingEvent *common.BindingEvent `json:"bindingEvent,omitempty"` TopicEvent *common.TopicEvent `json:"topicEvent,omitempty"` CloudEvent *cloudevents.Event `json:"cloudEventnt,omitempty"` // contains filtered or unexported fields }
type FunctionContext ¶
type FunctionContext struct { Name string `json:"name"` Version string `json:"version"` RequestID string `json:"requestID,omitempty"` Ctx context.Context `json:"ctx,omitempty"` Inputs map[string]*Input `json:"inputs,omitempty"` Outputs map[string]*Output `json:"outputs,omitempty"` Runtime Runtime `json:"runtime"` Port string `json:"port,omitempty"` State interface{} `json:"state,omitempty"` Event *EventRequest `json:"event,omitempty"` SyncRequest *SyncRequest `json:"syncRequest,omitempty"` PrePlugins []string `json:"prePlugins,omitempty"` PostPlugins []string `json:"postPlugins,omitempty"` PluginsTracing *PluginsTracing `json:"pluginsTracing,omitempty"` Out Out `json:"out,omitempty"` Error error `json:"error,omitempty"` HttpPattern string `json:"httpPattern,omitempty"` // contains filtered or unexported fields }
func (*FunctionContext) DestroyDaprClient ¶
func (ctx *FunctionContext) DestroyDaprClient()
func (*FunctionContext) GetBindingEvent ¶
func (ctx *FunctionContext) GetBindingEvent() *common.BindingEvent
func (*FunctionContext) GetCloudEvent ¶
func (ctx *FunctionContext) GetCloudEvent() *cloudevents.Event
func (*FunctionContext) GetContext ¶
func (ctx *FunctionContext) GetContext() *FunctionContext
func (*FunctionContext) GetError ¶
func (ctx *FunctionContext) GetError() error
func (*FunctionContext) GetHttpPattern ¶
func (ctx *FunctionContext) GetHttpPattern() string
func (*FunctionContext) GetInnerEvent ¶
func (ctx *FunctionContext) GetInnerEvent() InnerEvent
func (*FunctionContext) GetInputs ¶
func (ctx *FunctionContext) GetInputs() map[string]*Input
func (*FunctionContext) GetMode ¶
func (ctx *FunctionContext) GetMode() string
func (*FunctionContext) GetName ¶
func (ctx *FunctionContext) GetName() string
func (*FunctionContext) GetNativeContext ¶
func (ctx *FunctionContext) GetNativeContext() context.Context
func (*FunctionContext) GetOut ¶
func (ctx *FunctionContext) GetOut() Out
func (*FunctionContext) GetOutputs ¶
func (ctx *FunctionContext) GetOutputs() map[string]*Output
func (*FunctionContext) GetPluginsTracingCfg ¶
func (ctx *FunctionContext) GetPluginsTracingCfg() TracingConfig
func (*FunctionContext) GetPodName ¶
func (ctx *FunctionContext) GetPodName() string
func (*FunctionContext) GetPodNamespace ¶
func (ctx *FunctionContext) GetPodNamespace() string
func (*FunctionContext) GetPort ¶
func (ctx *FunctionContext) GetPort() string
func (*FunctionContext) GetPostPlugins ¶
func (ctx *FunctionContext) GetPostPlugins() []string
func (*FunctionContext) GetPrePlugins ¶
func (ctx *FunctionContext) GetPrePlugins() []string
func (*FunctionContext) GetRuntime ¶
func (ctx *FunctionContext) GetRuntime() Runtime
func (*FunctionContext) GetSyncRequest ¶
func (ctx *FunctionContext) GetSyncRequest() *SyncRequest
func (*FunctionContext) GetTopicEvent ¶
func (ctx *FunctionContext) GetTopicEvent() *common.TopicEvent
func (*FunctionContext) HasInputs ¶
func (ctx *FunctionContext) HasInputs() bool
func (*FunctionContext) HasOutputs ¶
func (ctx *FunctionContext) HasOutputs() bool
func (*FunctionContext) InitDaprClientIfNil ¶
func (ctx *FunctionContext) InitDaprClientIfNil()
func (*FunctionContext) ReturnOnInternalError ¶
func (ctx *FunctionContext) ReturnOnInternalError() Out
func (*FunctionContext) ReturnOnSuccess ¶
func (ctx *FunctionContext) ReturnOnSuccess() Out
func (*FunctionContext) Send ¶
func (ctx *FunctionContext) Send(outputName string, data []byte) ([]byte, error)
func (*FunctionContext) SetEvent ¶
func (ctx *FunctionContext) SetEvent(inputName string, event interface{})
func (*FunctionContext) SetNativeContext ¶
func (ctx *FunctionContext) SetNativeContext(c context.Context)
func (*FunctionContext) SetSyncRequest ¶
func (ctx *FunctionContext) SetSyncRequest(w http.ResponseWriter, r *http.Request)
func (*FunctionContext) WithError ¶
func (ctx *FunctionContext) WithError(err error) RuntimeContext
func (*FunctionContext) WithOut ¶
func (ctx *FunctionContext) WithOut(out *FunctionOut) RuntimeContext
type FunctionOut ¶
type FunctionOut struct { Code int `json:"code"` Data []byte `json:"data,omitempty"` Error error `json:"error,omitempty"` Metadata map[string]string `json:"metadata,omitempty"` // contains filtered or unexported fields }
func NewFunctionOut ¶
func NewFunctionOut() *FunctionOut
func (*FunctionOut) GetCode ¶
func (o *FunctionOut) GetCode() int
func (*FunctionOut) GetData ¶
func (o *FunctionOut) GetData() []byte
func (*FunctionOut) GetMetadata ¶
func (o *FunctionOut) GetMetadata() map[string]string
func (*FunctionOut) GetOut ¶
func (o *FunctionOut) GetOut() *FunctionOut
func (*FunctionOut) WithCode ¶
func (o *FunctionOut) WithCode(code int) *FunctionOut
func (*FunctionOut) WithData ¶
func (o *FunctionOut) WithData(data []byte) *FunctionOut
type InnerEvent ¶
type InnerEvent interface { // SetMetadata sets the metadata in innerEventData. SetMetadata(key string, value string) // GetMetadata returns the metadata in innerEventData. GetMetadata() map[string]string // SetUserData sets the userData in innerEventData. SetUserData(data interface{}) // GetUserData returns the userData in innerEventData. GetUserData() []byte // GetCloudEvent returns the cloudevent object in innerEvent. GetCloudEvent() cloudevents.Event // MergeMetadata merges the metadata of the incoming event into the new event. MergeMetadata(event InnerEvent) // Clone clones a new innerEvent. Clone(event *cloudevents.Event) // GetCloudEventJSON returns the cloudevent in json format. GetCloudEventJSON() []byte // SetSubject sets the subject of the cloudevent in the innerEvent. SetSubject(s string) }
func NewInnerEvent ¶
func NewInnerEvent(ctx RuntimeContext) InnerEvent
type Input ¶
type Input struct { Uri string `json:"uri,omitempty"` ComponentName string `json:"componentName"` ComponentType string `json:"componentType"` Metadata map[string]string `json:"metadata,omitempty"` }
func (*Input) GetType ¶
func (i *Input) GetType() ResourceType
GetType will be called after the context has been parsed correctly, therefore we do not have to handle the error return of getBuildingBlockType()
type NativeContext ¶
type Out ¶
type Out interface { // GetOut returns the pointer of raw FunctionOut object. GetOut() *FunctionOut // GetCode returns the return code in FunctionOut. GetCode() int // GetData returns the return data in FunctionOut. GetData() []byte // GetMetadata returns the metadata in FunctionOut. GetMetadata() map[string]string // WithCode sets the FunctionOut with new return code. WithCode(code int) *FunctionOut // WithData sets the FunctionOut with new return data. WithData(data []byte) *FunctionOut }
type Output ¶
type Output struct { Uri string `json:"uri,omitempty"` ComponentName string `json:"componentName"` ComponentType string `json:"componentType"` Metadata map[string]string `json:"metadata,omitempty"` Operation string `json:"operation,omitempty"` }
func (*Output) GetType ¶
func (o *Output) GetType() ResourceType
GetType will be called after the context has been parsed correctly, therefore we do not have to handle the error return of getBuildingBlockType()
type PluginsTracing ¶
type PluginsTracing struct { Enabled bool `json:"enabled" yaml:"enabled"` Provider *TracingProvider `json:"provider" yaml:"provider"` Tags map[string]string `json:"tags,omitempty" yaml:"tags,omitempty"` Baggage map[string]string `json:"baggage" yaml:"baggage"` }
func (*PluginsTracing) GetBaggage ¶
func (tracing *PluginsTracing) GetBaggage() map[string]string
func (*PluginsTracing) GetTags ¶
func (tracing *PluginsTracing) GetTags() map[string]string
func (*PluginsTracing) IsEnabled ¶
func (tracing *PluginsTracing) IsEnabled() bool
func (*PluginsTracing) ProviderName ¶
func (tracing *PluginsTracing) ProviderName() string
func (*PluginsTracing) ProviderOapServer ¶
func (tracing *PluginsTracing) ProviderOapServer() string
type ResourceType ¶
type ResourceType string
type ResponseWriterWrapper ¶
type ResponseWriterWrapper struct { http.ResponseWriter // contains filtered or unexported fields }
func NewResponseWriterWrapper ¶
func NewResponseWriterWrapper(w http.ResponseWriter, statusCode int) *ResponseWriterWrapper
func (*ResponseWriterWrapper) Header ¶
func (rww *ResponseWriterWrapper) Header() http.Header
func (*ResponseWriterWrapper) Status ¶
func (rww *ResponseWriterWrapper) Status() int
func (*ResponseWriterWrapper) Write ¶
func (rww *ResponseWriterWrapper) Write(bytes []byte) (int, error)
func (*ResponseWriterWrapper) WriteHeader ¶
func (rww *ResponseWriterWrapper) WriteHeader(statusCode int)
type RuntimeContext ¶
type RuntimeContext interface { NativeContext // GetName returns the function's name. GetName() string // GetMode returns the operating environment mode of the function. GetMode() string // GetContext returns the pointer of raw OpenFunction FunctionContext object. GetContext() *FunctionContext // GetOut returns the pointer of raw OpenFunction FunctionOut object. GetOut() Out // HasInputs detects if the function has any input sources. HasInputs() bool // HasOutputs detects if the function has any output targets. HasOutputs() bool // InitDaprClientIfNil detects whether the dapr client in the current FunctionContext has been initialized, // and initializes it if it has not been initialized. InitDaprClientIfNil() // DestroyDaprClient destroys the dapr client when the function is executed with an exception. DestroyDaprClient() // GetPrePlugins returns a list of plugin names for the previous phase of function execution. GetPrePlugins() []string // GetPostPlugins returns a list of plugin names for the post phase of function execution. GetPostPlugins() []string // GetRuntime returns the Runtime. GetRuntime() Runtime // GetPort returns the port that the function service is listening on. GetPort() string // GetError returns the error status of the function. GetError() error // GetHttpPattern returns the path of the server listening in Knative runtime mode. GetHttpPattern() string // SetSyncRequest sets the native http.ResponseWriter and *http.Request when an http request is received. SetSyncRequest(w http.ResponseWriter, r *http.Request) // SetEvent sets the name of the input source and the native event when an event request is received. SetEvent(inputName string, event interface{}) // GetInputs returns the mapping relationship of *Input. GetInputs() map[string]*Input // GetOutputs returns the mapping relationship of *Output. GetOutputs() map[string]*Output // GetSyncRequest returns the pointer of SyncRequest. GetSyncRequest() *SyncRequest // GetBindingEvent returns the pointer of common.BindingEvent. GetBindingEvent() *common.BindingEvent // GetTopicEvent returns the pointer of common.TopicEvent. GetTopicEvent() *common.TopicEvent // GetCloudEvent returns the pointer of v2.Event. GetCloudEvent() *cloudevents.Event // GetInnerEvent returns the InnerEvent. GetInnerEvent() InnerEvent // WithOut adds the FunctionOut object to the RuntimeContext. WithOut(out *FunctionOut) RuntimeContext // WithError adds the error state to the RuntimeContext. WithError(err error) RuntimeContext // GetPodName returns the name of the pod the function is running on. GetPodName() string // GetPodNamespace returns the namespace of the pod the function is running on. GetPodNamespace() string // GetPluginsTracingCfg returns the TracingConfig interface. GetPluginsTracingCfg() TracingConfig }
func GetRuntimeContext ¶
func GetRuntimeContext() (RuntimeContext, error)
type SyncRequest ¶
type SyncRequest struct { ResponseWriter http.ResponseWriter `json:"responseWriter,omitempty"` Request *http.Request `json:"request,omitempty"` }
type TracingConfig ¶
type TracingConfig interface { // IsEnabled detects if the tracing configuration is enabled. IsEnabled() bool // ProviderName returns the name of tracing provider. ProviderName() string // ProviderOapServer returns the oap server of the tracing provider. ProviderOapServer() string // GetTags returns the tags of the tracing configuration. GetTags() map[string]string // GetBaggage returns the baggage of the tracing configuration. GetBaggage() map[string]string }
type TracingProvider ¶
Click to show internal directories.
Click to hide internal directories.