add new remote param to docker and file providers
lint: http nil body
add support of remote ips to consul provider
local implementation of onlyfrom middleware
lint: missing comment
make proxy tests more readable
preffer public IP if any forwwarded
Consider proxy configuration `*,/test/(.*),https://dest/$1`.
When reproxy accepts a request with URL encoded path, i.e.
'/test/a%205%25%20b/' which the encoded form of '/test/a 5% b',
it is using request.URL.Path which is already URL decoded by Golang.
This causes an error in proxy.go while it is trying to validate the
destination with `url.Parse(match.Destination)` as, strictly speaking,
destination URL is not a valid URL anymore, it is `https://target-dest/a 5% b`.
With this fix, the original escaped URL stays as is, correctly passes
the validation and then it is up to destination server to URL decode and
correctly handle the URL.
* wip
* resolve merge artifacts
* full coverage for conductor
* wire plugin conductor to main and proxy
* wip, with separate match handler
* split matching logic with another handler, add initial docs
* move parts of proxy to handlers, add tests
* add headers in to be sent to proxied url
* merged from master
* add example with docker compose
* supress excesive debug reporting 0-9 disabled in docker
* add plugin tests
* randomize test port
* lint: minor warns
* lint: err shadow
* discovery support for multiple matches
* switch proxy matcher usage, add random selection
* fix multi-match logic
* pass match picker func
* simplify rand picker
* update health params and docs
* fix early termination on discovery multi-match
* add grouping of sorted matches in sorted result
* add mention of live check to readme
* add isStatic flag to mapper, implement for file and static providers
* handle static match response as a special case
* move assets conversion to load time
* rename static to assets everywhere for consistency
* don't overwride asset param in url mapper
* add documentation about assets mode
* add tests