Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidTargetForService = errRange.Newf( "Invalid middleware target", "There are not matching targets in service %q.", ) ErrInvalidTargetForApp = errRange.New( "Invalid middleware target", "There are not matching targets in the application.", ) ErrSvcMiddlewareNotInService = errRange.New( "Invalid middleware function", "Middleware must be defined in a service unless it is marked as being global.", ) ErrGlobalMiddlewareDefinedInService = errRange.New( "Invalid middleware function", "Global middleware cannot be defined in a service.", ) )
Functions ¶
func Sort ¶
func Sort(mws []*Middleware)
Sort sorts the middleware to ensure they execute in deterministic order.
Types ¶
type Middleware ¶
type Middleware struct { Decl *schema.FuncDecl Doc string File *pkginfo.File // file it's declared in // Global specifies whether the middleware is global or service-local. Global bool // Target specifies the set of API endpoints the middleware applies to. Target selector.Set // Recv is the type the middleware is defined as a method on, if any. Recv option.Option[*schema.Receiver] }
Middleware describes an Encore middleware.
func Parse ¶
func Parse(d ParseData) *Middleware
Parse parses the middleware in the provided declaration. It may return nil on errors.
func (*Middleware) End ¶
func (mw *Middleware) End() token.Pos
func (*Middleware) ID ¶ added in v1.16.0
func (mw *Middleware) ID() string
ID returns a unique id for this specific middleware.
func (*Middleware) Kind ¶
func (mw *Middleware) Kind() resource.Kind
func (*Middleware) Package ¶
func (mw *Middleware) Package() *pkginfo.Package
func (*Middleware) Pos ¶
func (mw *Middleware) Pos() token.Pos
Click to show internal directories.
Click to hide internal directories.