Documentation ¶
Index ¶
- func CallMetadataFromContext(ctx context.Context) map[MetadataKey]string
- func ContextWithCallMetadata(ctx context.Context, metadata map[MetadataKey]string) context.Context
- func WithContext(ctx context.Context, ftl FTL) context.Context
- type FTL
- type MetadataKey
- type RealFTL
- func (r *RealFTL) CallMap(ctx context.Context, mapper any, value any, ...) any
- func (r *RealFTL) GetConfig(_ context.Context, name string, dest any) error
- func (r *RealFTL) GetSecret(_ context.Context, name string, dest any) error
- func (r *RealFTL) PublishEvent(ctx context.Context, topic *schema.Ref, event any, key string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CallMetadataFromContext ¶
func CallMetadataFromContext(ctx context.Context) map[MetadataKey]string
CallMetadataFromContext returns the call metadata from the context.
func ContextWithCallMetadata ¶
ContextWithCallMetadata returns a new context with the call metadata.
Types ¶
type FTL ¶
type FTL interface { // PublishEvent sends an event to a pubsub topic. PublishEvent(ctx context.Context, topic *schema.Ref, event any, key string) error // CallMap calls Get on an instance of an ftl.Map. // // "mapper" is a pointer to an instance of an ftl.MapHandle. "value" is the // value being mapped. "mapImpl" is a function that will be called to // compute the mapped value. CallMap(ctx context.Context, mapper any, value any, mapImpl func(context.Context) (any, error)) any // GetConfig unmarshals a configuration value into dest. GetConfig(ctx context.Context, name string, dest any) error // GetSecret unmarshals a secret value into dest. GetSecret(ctx context.Context, name string, dest any) error }
FTL is the interface that the FTL runtime provides to user code.
In production, the FTL runtime will provide an implementation of this interface that communicates with the Controller over gRPC.
In testing code, the implementation will inject fakes and other test implementations.
func FromContext ¶
FromContext returns the FTL instance from the context.
type MetadataKey ¶
type MetadataKey string
type RealFTL ¶
type RealFTL struct {
// contains filtered or unexported fields
}
RealFTL is the real implementation of the internal.FTL interface using the Controller.
func New ¶
func New(dmctx *deploymentcontext.DynamicDeploymentContext) *RealFTL
New creates a new RealFTL
Click to show internal directories.
Click to hide internal directories.