Documentation
¶
Overview ¶
Package module defines the ordered Program Module Spec, Definition Catalog, lifecycle SPI, and immutable runtime bindings.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Binding ¶
type Binding interface {
Open(OpenContext) (Instance, error)
}
Binding is immutable and safe for concurrent Open calls after Compile returns.
type Catalog ¶ added in v0.67.260718
type Catalog struct {
// contains filtered or unexported fields
}
func MustCatalog ¶ added in v0.67.260718
func MustCatalog(definitions ...Definition) *Catalog
func NewCatalog ¶ added in v0.67.260718
func NewCatalog(definitions ...Definition) (*Catalog, error)
func (*Catalog) Definitions ¶ added in v0.67.260718
func (catalog *Catalog) Definitions() []Definition
func (*Catalog) Lookup ¶ added in v0.67.260718
func (catalog *Catalog) Lookup(name string) Definition
type Definition ¶
type Definition interface {
Name() string
}
type FinishCause ¶
type FinishCause string
const ( FinishCompleted FinishCause = "completed" FinishFailed FinishCause = "failed" FinishCanceled FinishCause = "canceled" FinishReplaced FinishCause = "replaced" )
type FinishContext ¶
type FinishContext struct {
Context
Cause FinishCause
}
type Instance ¶
type Instance interface {
Bind(Registrar)
Finish(FinishContext) error
}
type NopInstance ¶
type NopInstance struct{}
func (NopInstance) Bind ¶ added in v0.67.260718
func (NopInstance) Bind(Registrar)
func (NopInstance) Finish ¶
func (NopInstance) Finish(FinishContext) error
type OpenContext ¶
type Policy ¶
func AsyncBarrierPolicy ¶
func AsyncPolicy ¶
func SyncPolicy ¶
func SyncPolicy() Policy
type ProgramDefinition ¶ added in v0.67.260718
type Registrar ¶ added in v0.67.260718
type Registrar interface {
OnRequestStarted(Policy, Handler[lifecycle.RequestStarted])
OnRequestBodyChunk(Policy, Handler[lifecycle.BodyChunk])
OnRequestBodyEnded(Policy, Handler[lifecycle.RequestBodyEnded])
OnRoundTripStarted(Policy, Handler[lifecycle.RoundTripStarted])
OnDirectivePrepared(Policy, Handler[lifecycle.DirectivePrepared])
OnUpstreamStarted(Policy, Handler[lifecycle.UpstreamStarted])
OnUpstreamResponseStarted(Policy, Handler[lifecycle.ResponseStarted])
OnUpstreamBodyChunk(Policy, Handler[lifecycle.BodyChunk])
OnUpstreamBodyEnded(Policy, Handler[lifecycle.BodyEnded])
OnRoundTripFinished(Policy, Handler[lifecycle.RoundTripFinished])
OnRecoveryStarted(Policy, Handler[lifecycle.RecoveryStarted])
OnRecoveryDecided(Policy, Handler[lifecycle.RecoveryDecided])
OnRecoveryFinished(Policy, Handler[lifecycle.RecoveryFinished])
OnDownstreamResponseStarted(Policy, Handler[lifecycle.ResponseStarted])
OnDownstreamBodyChunk(Policy, Handler[lifecycle.BodyChunk])
OnDownstreamSSEData(Policy, Handler[lifecycle.SSEData])
OnDownstreamSSEComment(Policy, Handler[lifecycle.SSEComment])
OnDownstreamBodyEnded(Policy, Handler[lifecycle.BodyEnded])
OnRequestFinished(Policy, Handler[lifecycle.RequestFinished])
MutateOutboundRequest(Policy, Mutator[http.Request])
MutateOutboundBodyChunk(Policy, Mutator[lifecycle.BodyDraft])
MutateUpstreamResponse(Policy, Mutator[lifecycle.ResponseDraft])
MutateUpstreamBodyChunk(Policy, Mutator[lifecycle.BodyDraft])
}
type Spec ¶
type Spec = directivecontract.ModuleSpec
type Specs ¶ added in v0.67.260718
type Specs = directivecontract.ModuleSpecs
Click to show internal directories.
Click to hide internal directories.