plugins

package module
v0.0.0-...-90e34d5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2023 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Index

Constants

View Source
const PackageName = "PackageName"
View Source
const PluginConfig = "Config"
View Source
const TypesName = "Types"

Variables

This section is empty.

Functions

func UnexpectedUseError

func UnexpectedUseError(on interface{}) error

Types

type AfterFetcher

type AfterFetcher interface {
	AfterFetch(dest interface{}, response http.ResponseWriter, req *http.Request) error
}

type BasicCodec

type BasicCodec interface {
	Valuer() Valuer
	Name() string
}

type BeforeFetcher

type BeforeFetcher interface {
	BeforeFetch(response http.ResponseWriter, request *http.Request) error
}

type ClosableAfterFetcher

type ClosableAfterFetcher interface {
	AfterFetch(dest interface{}, response http.ResponseWriter, req *http.Request) (responseClosed bool, err error)
}

type ClosableBeforeFetcher

type ClosableBeforeFetcher interface {
	BeforeFetch(response http.ResponseWriter, request *http.Request) (responseClosed bool, err error)
}

type Codec

type Codec struct {
	// contains filtered or unexported fields
}

func (*Codec) Name

func (c *Codec) Name() string

func (*Codec) ResultType

func (c *Codec) ResultType(_ reflect.Type) (reflect.Type, error)

func (*Codec) Valuer

func (c *Codec) Valuer() Valuer

type CodecConfig

type CodecConfig struct {
	Query     string `json:",omitempty"`
	SourceURL string `json:",omitempty"`
	Source    string `json:",omitempty"`
}

type CodecDef

type CodecDef interface {
	BasicCodec
	Typer
}

func NewCodec

func NewCodec(name string, valuer Valuer, resultType reflect.Type) CodecDef

type CodecFactory

type CodecFactory interface {
	New(codecConfig *CodecConfig, paramType reflect.Type) (Valuer, error)
}

type CodecsRegistry

type CodecsRegistry map[string]BasicCodec

func NewCodecs

func NewCodecs(codecs ...BasicCodec) CodecsRegistry

func (CodecsRegistry) Lookup

func (v CodecsRegistry) Lookup(name string) (BasicCodec, error)

func (CodecsRegistry) Register

func (v CodecsRegistry) Register(visitor BasicCodec)

type Metadata

type Metadata struct {
	CreationTime time.Time `json:",omitempty"`
	URL          string    `json:",omitempty"`
	Version      string    `json:",omitempty"`
}

type Registry

type Registry struct {
	sync.Mutex
	Types    map[string]reflect.Type
	Packages map[string]map[string]reflect.Type
	Codecs   CodecsRegistry
}

func NewRegistry

func NewRegistry() *Registry

func (*Registry) AddType

func (r *Registry) AddType(packageName string, typeName string, rType reflect.Type)

func (*Registry) AddTypes

func (r *Registry) AddTypes(name string, types []reflect.Type)

func (*Registry) LookupCodec

func (r *Registry) LookupCodec(name string) (BasicCodec, error)

func (*Registry) LookupType

func (r *Registry) LookupType(_, packageName string, typeName string) (reflect.Type, error)

func (*Registry) Override

func (r *Registry) Override(toOverride *Registry)

func (*Registry) OverridePackageNamedTypes

func (r *Registry) OverridePackageNamedTypes(packageTypes map[string]map[string]reflect.Type)

func (*Registry) OverridePackageTypes

func (r *Registry) OverridePackageTypes(packageTypes map[string][]reflect.Type)

func (*Registry) OverrideTypes

func (r *Registry) OverrideTypes(packageName string, types map[string]reflect.Type)

func (*Registry) PackageRegistry

func (r *Registry) PackageRegistry(name string) map[string]reflect.Type

func (*Registry) RegisterCodec

func (r *Registry) RegisterCodec(visitor BasicCodec)

type Typer

type Typer interface {
	ResultType(paramType reflect.Type) (reflect.Type, error)
}

type Valuer

type Valuer interface {
	Value(ctx context.Context, raw interface{}, options ...interface{}) (interface{}, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL