Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Registry ¶
type Registry interface {
Load(rhs ...ResourceHandler)
Get(uri string) ResourceHandler
Remove(rh ...ResourceHandler)
}
Registry can register and return resource handlers for a url
func NewRegistry ¶
func NewRegistry(resourceHandlers ...ResourceHandler) Registry
NewRegistry creates Registry object, optionally loading it with resourceHandlers if provided
type ResourceHandler ¶
type ResourceHandler interface {
// Accepts manifests if this ResourceHandler can manage the type of resources
// identified by the URI scheme of uri.
Accept(uri string) bool
// ResolveNodeSelector resolves the NodeSelector rules of a Node into subnodes
// hierarchy (Node.Nodes)
ResolveNodeSelector(ctx context.Context, node *api.Node) error
// Read a resource content at uri into a byte array
Read(ctx context.Context, uri string) ([]byte, error)
// Name resolves the name of the resource from a URI
// Example: https://github.com/owner/repo/tree/master/a/b/c.md -> c.md
Name(uri string) string
// BuildAbsLink should return an absolute path of a relative link in regards of the provided
// source
BuildAbsLink(source, link string) (string, error)
// GetRawFormatLink returns a link to an embedable object (image) in raw format.
// If the provided link is not referencing an embedable object, the function
// returns absLink without changes.
GetRawFormatLink(absLink string) (string, error)
// GetLocalityDomainCandidate ...
GetLocalityDomainCandidate(source string) (key, path, version string, err error)
// SetVersion sets version to absLink according to the API scheme. For GitHub
// for example this would replace e.g. the 'master' segment in the path with version
SetVersion(absLink, version string) (string, error)
}
ResourceHandler does resource specific operations on a type of objects identified by an uri schema that it accepts to handle
Click to show internal directories.
Click to hide internal directories.