Documentation ¶
Index ¶
- func JSONHandler(jsn []byte, fallback http.Handler) (http.HandlerFunc, error)
- func MapHandler(pathsToURLs map[string]string, fallback http.Handler) http.HandlerFunc
- func StoreHandler(store RuleStore, initialRules []Rule, fallback http.Handler) (http.HandlerFunc, error)
- func YAMLHandler(yml []byte, fallback http.Handler) (http.HandlerFunc, error)
- type Rule
- type RuleStore
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func JSONHandler ¶
JSONHandler will parse the provided JSON and then return an http.HandlerFunc (which also implements http.Handler) that will attempt to map any paths to their corresponding URL. If the path is not provided in the JSON, then the fallback http.Handler will be called instead.
JSON is expected to be in the format:
[ { "path": "/some-path", "url": "https://www.some-url.com/demo" } ]
The only errors that can be returned all related to having invalid JSON data.
See MapHandler to create a similar http.HandlerFunc via a mapping of paths to URLs.
func MapHandler ¶
MapHandler will return an http.HandlerFunc (which also implements http.Handler) that will attempt to map any paths (keys in the map) to their corresponding URL (values that each key in the map points to, in string format). If the path is not provided in the map, then the fallback http.Handler will be called instead.
func StoreHandler ¶
func StoreHandler(store RuleStore, initialRules []Rule, fallback http.Handler) (http.HandlerFunc, error)
StoreHandler returns an http.HandlerFunc (which also implements http.Handler) that will dynamically to map any paths to their corresponding URL retrieved from a store. If the path is not provided in the store then the fallback http.Handler will be called instead.
The only errors that can be returned all related to having invalid store data.
See MapHandler to create a similar http.HandlerFunc via a mapping of paths to URLs.
func YAMLHandler ¶
YAMLHandler will parse the provided YAML and then return an http.HandlerFunc (which also implements http.Handler) that will attempt to map any paths to their corresponding URL. If the path is not provided in the YAML, then the fallback http.Handler will be called instead.
YAML is expected to be in the format:
- path: /some-path url: https://www.some-url.com/demo
The only errors that can be returned all related to having invalid YAML data.
See MapHandler to create a similar http.HandlerFunc via a mapping of paths to URLs.