Config configures the factory methods and plugins for the registry
type Config struct { AuthFilters []*HandlerConfig `mapstructure:"authFilters" yaml:"authFilters"` Decorators []*HandlerConfig `mapstructure:"decorators" yaml:"decorators"` Endorsers PluginMapping `mapstructure:"endorsers" yaml:"endorsers"` Validators PluginMapping `mapstructure:"validators" yaml:"validators"` }
HandlerConfig defines configuration for a plugin or compiled handler
type HandlerConfig struct { Name string `mapstructure:"name" yaml:"name"` Library string `mapstructure:"library" yaml:"library"` }
HandlerLibrary is used to assert how to create the various handlers
type HandlerLibrary struct { }
func (r *HandlerLibrary) DefaultAuth() auth.Filter
DefaultAuth creates a default auth.Filter that doesn't do any access control checks - simply forwards the request further. It needs to be initialized via a call to Init() and be passed a peer.EndorserServer
func (r *HandlerLibrary) DefaultDecorator() decoration.Decorator
DefaultDecorator creates a default decorator that doesn't do anything with the input, simply returns the input as output.
func (r *HandlerLibrary) DefaultEndorsement() endorsement.PluginFactory
func (r *HandlerLibrary) DefaultValidation() validation.PluginFactory
func (r *HandlerLibrary) ExpirationCheck() auth.Filter
ExpirationCheck is an auth filter which blocks requests from identities with expired x509 certificates
HandlerType defines custom handlers that can filter and mutate objects passing within the peer
type HandlerType int
const ( // Auth handler - reject or forward proposals from clients Auth HandlerType = iota // Decoration handler - append or mutate the chaincode input // passed to the chaincode Decoration Endorsement Validation )
type PluginMapping map[string]*HandlerConfig
Registry defines an object that looks up handlers by name
type Registry interface { // Lookup returns a handler with a given // registered name, or nil if does not exist Lookup(HandlerType) interface{} }
func InitRegistry(c Config) Registry
InitRegistry creates the (only) instance of the registry