 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package workers contains a base class that is used by components that are based on Cloudflare Workers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Base ¶
type Base struct {
	// contains filtered or unexported fields
}
    Base is a base class for components that rely on Cloudflare Base
func (*Base) Init ¶
func (w *Base) Init(workerBindings []CFBinding, componentDocsURL string, infoResponseValidate func(*InfoEndpointResponse) error) (err error)
Init the base class.
func (*Base) SetMetadata ¶
func (w *Base) SetMetadata(metadata *BaseMetadata)
SetMetadata sets the metadata for the base object.
type BaseMetadata ¶
type BaseMetadata struct {
	WorkerURL        string `mapstructure:"workerUrl"`
	CfAPIToken       string `mapstructure:"cfAPIToken"`
	CfAccountID      string `mapstructure:"cfAccountID"`
	Key              string `mapstructure:"key"`
	WorkerName       string `mapstructure:"workerName"`
	TimeoutInSeconds string `mapstructure:"timeoutInSeconds"`
	Timeout time.Duration `mapstructure:"-"`
	// contains filtered or unexported fields
}
    Base metadata struct, common to all components The components can be initialized in two ways: - Instantiate the component with a "workerURL": assumes a worker that has been pre-deployed and it's ready to be used; we will not need API tokens - Instantiate the component with a "cfAPIToken" and "cfAccountID": Dapr will take care of creating the worker if it doesn't exist (or upgrade it if needed)
func (*BaseMetadata) CreateToken ¶
func (m *BaseMetadata) CreateToken() (string, error)
CreateToken creates a JWT token for authorizing requests
func (*BaseMetadata) Validate ¶
func (m *BaseMetadata) Validate() error
Validate the metadata object.
type CFBinding ¶
type CFBinding struct {
	Name string `json:"name"`
	Type string `json:"type"`
	// For variables
	Text *string `json:"text,omitempty"`
	// For KV namespaces
	KVNamespaceID *string `json:"namespace_id,omitempty"`
	// For queues
	QueueName *string `json:"queue_name,omitempty"`
}
    CFBinding contains a Cloudflare binding that is attached to the worker
type InfoEndpointResponse ¶
type InfoEndpointResponse struct {
	Version string   `json:"version"`
	Queues  []string `json:"queues"`
	KV      []string `json:"kv"`
}
    Object containing the response from the info endpoint