v0.5.6 Latest Latest

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

Go to latest
Published: Aug 10, 2018 License: BSD-3-Clause Imports: 11 Imported by: 150




This section is empty.


This section is empty.


func Factories

func Factories() map[string]Factory

func NewContext

func NewContext(parentCtx context.Context, attrs []*data.Attribute) context.Context

NewContext returns a new Context that carries the trigger data. DEPRECATED

func NewContextWithData

func NewContextWithData(parentCtx context.Context, contextData *ContextData) context.Context

NewContext returns a new Context that carries the trigger data. DEPRECATED

func NewHandlerContext added in v0.5.6

func NewHandlerContext(parentCtx context.Context, config *HandlerConfig) context.Context

NewHandlerContext add the handler info to a new child context

func NewInitialContext

func NewInitialContext(attrs []*data.Attribute, config *HandlerConfig) context.Context


func RegisterFactory

func RegisterFactory(ref string, f Factory) error


type ActionConfig added in v0.5.6

type ActionConfig struct {

	Mappings *data.IOMappings `json:"mappings"`

	Act action.Action

ActionConfig is the configuration for the Action

type Config

type Config struct {
	Name     string                 `json:"name"`
	Id       string                 `json:"id"`
	Ref      string                 `json:"ref"`
	Settings map[string]interface{} `json:"settings"`
	Output   map[string]interface{} `json:"output"`
	Handlers []*HandlerConfig       `json:"handlers"`

	// Deprecated: Use Output
	Outputs map[string]interface{} `json:"outputs"`

Config is the configuration for a Trigger

func (*Config) FixUp

func (c *Config) FixUp(metadata *Metadata)

func (*Config) GetSetting

func (c *Config) GetSetting(setting string) string

type ContextData

type ContextData struct {
	Attrs      []*data.Attribute
	HandlerCfg *HandlerConfig

func ExtractContextData

func ExtractContextData(ctx context.Context) (*ContextData, bool)


type Factory

type Factory interface {
	New(config *Config) Trigger

Factory is used to create new instances for a trigger

func GetFactory

func GetFactory(ref string) Factory

type Handler

type Handler struct {
	// contains filtered or unexported fields

func NewHandler

func NewHandler(config *HandlerConfig, act action.Action, outputMd map[string]*data.Attribute, replyMd map[string]*data.Attribute, runner action.Runner) *Handler

func (*Handler) GetOutput

func (h *Handler) GetOutput() map[string]interface{}

func (*Handler) GetSetting

func (h *Handler) GetSetting(setting string) (interface{}, bool)

func (*Handler) GetStringSetting

func (h *Handler) GetStringSetting(setting string) string

func (*Handler) Handle

func (h *Handler) Handle(ctx context.Context, triggerData map[string]interface{}) (map[string]*data.Attribute, error)

func (*Handler) String

func (h *Handler) String() string

type HandlerConfig

type HandlerConfig struct {
	Name     string                 `json:"name,omitempty"`
	Settings map[string]interface{} `json:"settings"`
	Output   map[string]interface{} `json:"output"`
	Action   *ActionConfig

	// Deprecated: Use Action (*action.Config)
	ActionId string `json:"actionId"`
	// Deprecated: Use Action (*action.Config)
	ActionMappings *data.IOMappings `json:"actionMappings,omitempty"`
	// Deprecated: Use Action (*action.Config)
	ActionOutputMappings []*data.MappingDef `json:"actionOutputMappings,omitempty"`
	// Deprecated: Use Action (*action.Config)
	ActionInputMappings []*data.MappingDef `json:"actionInputMappings,omitempty"`
	// Deprecated: Use Output
	Outputs map[string]interface{} `json:"outputs"`
	// contains filtered or unexported fields

func (*HandlerConfig) GetSetting

func (hc *HandlerConfig) GetSetting(setting string) string

type HandlerInfo added in v0.5.6

type HandlerInfo struct {
	Name string

func HandlerFromContext added in v0.5.6

func HandlerFromContext(ctx context.Context) (*HandlerInfo, bool)

HandlerFromContext returns the handler info stored in the context, if any.

type HandlerMetadata

type HandlerMetadata struct {
	Settings []*data.Attribute `json:"settings"`

EndpointMetadata is the metadata for a Trigger Endpoint

type InitContext

type InitContext interface {

	// GetHandlers gets the handlers associated with the trigger
	GetHandlers() []*Handler

InitContext is the initialization context for the trigger instance

type InitOld deprecated

type InitOld interface {

	// Deprecated: Triggers should implement trigger.Initializable interface
	Init(actionRunner action.Runner)

Deprecated: No longer used

type Initializable

type Initializable interface {

	// Initialize is called to initialize the Trigger
	Initialize(ctx InitContext) error

Initializable interface should be implemented by all Triggers, the Initialize method will eventually move up to Trigger to replace the the old "Init" method

type LegacyRunner deprecated

type LegacyRunner struct {
	// contains filtered or unexported fields

Deprecated: Temporarily generated for backwards compatibility support

func NewLegacyRunner

func NewLegacyRunner(runner action.Runner, metadata *Metadata) *LegacyRunner

func (*LegacyRunner) Execute

func (*LegacyRunner) Execute(ctx context.Context, act action.Action, inputs map[string]*data.Attribute) (results map[string]*data.Attribute, err error)

func (*LegacyRunner) RegisterHandler

func (lr *LegacyRunner) RegisterHandler(h *Handler)

func (*LegacyRunner) Run

func (lr *LegacyRunner) Run(ctx context.Context, act action.Action, uri string, options interface{}) (code int, data interface{}, err error)

func (*LegacyRunner) RunAction

func (lr *LegacyRunner) RunAction(ctx context.Context, act action.Action, options map[string]interface{}) (results map[string]*data.Attribute, err error)

type Metadata

type Metadata struct {
	ID       string
	Version  string
	Handler  *HandlerMetadata
	Settings map[string]*data.Attribute
	Output   map[string]*data.Attribute
	Reply    map[string]*data.Attribute

Metadata is the metadata for a Trigger

func NewMetadata

func NewMetadata(jsonMetadata string) *Metadata

NewMetadata creates a Metadata object from the json representation todo should return error instead of panic

func (*Metadata) OutputsToAttrs

func (md *Metadata) OutputsToAttrs(outputData map[string]interface{}, coerce bool) ([]*data.Attribute, error)

OutputsToAttrs converts the supplied output data to attributes todo remove coerce option, coercion now happens by default

func (*Metadata) UnmarshalJSON

func (md *Metadata) UnmarshalJSON(b []byte) error

UnmarshalJSON overrides the default UnmarshalJSON for Metadata

type Trigger

type Trigger interface {

	// Metadata returns the metadata of the trigger
	Metadata() *Metadata

Trigger is object that triggers/starts flow instances and is managed by an engine

Jump to

Keyboard shortcuts

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