reproxy/app/proxy
Alexey Nesterov 2e8733b152 Correctly handle URL escaped paths
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.
2021-12-06 11:00:07 -06:00
..
testdata add support of spa-like assets handling 2021-06-07 19:16:18 -05:00
cache_control_test.go extend tests for tricky cases 2021-04-27 01:57:04 -05:00
cache_control.go Nice error (#61) 2021-04-30 04:03:36 -05:00
error_reporter_test.go Nice error (#61) 2021-04-30 04:03:36 -05:00
error_reporter.go Nice error (#61) 2021-04-30 04:03:36 -05:00
handlers_test.go update linter and address all lint warns 2021-11-09 12:47:41 -06:00
handlers.go implement simple on/off basic-auth for all resources 2021-11-09 12:47:41 -06:00
health_test.go update linter and address all lint warns 2021-11-09 12:47:41 -06:00
health.go eliminate metrics middleware hit if mgmt disabled 2021-05-22 10:44:21 -05:00
matcher_mock.go RPC plugins support (#85) 2021-06-01 02:56:39 -05:00
proxy_test.go Correctly handle URL escaped paths 2021-12-06 11:00:07 -06:00
proxy.go Correctly handle URL escaped paths 2021-12-06 11:00:07 -06:00
ssl_test.go update linter and address all lint warns 2021-11-09 12:47:41 -06:00
ssl.go add autocert details log 2021-05-04 12:51:07 -05:00