Tw
c37481cc7b
proxy: handle encoded path in URL
...
fix issue #1362
Signed-off-by: Tw <tw19881113@gmail.com>
2017-02-17 09:41:00 +08:00
Augusto Roman
463c9d9dd2
Fix data race for max connection limiting in proxy directive. ( #1438 )
...
* Fix data race for max connection limiting in proxy directive.
The Conns and Unhealthy fields are updated concurrently across all active
requests. Because of this, they must use atomic operations for reads and
writes.
Prior to this change, Conns was incremented atomically, but read unsafely.
Unhealthly was updated & read unsafely. The new test
TestReverseProxyMaxConnLimit exposes this race when run with -race.
Switching to atomic operations makes the race detector happy.
* oops, remove leftover dead code.
2017-02-15 08:09:42 -07:00
Tw
38c76647c9
proxy: use a new context for the outgoing request ( #1358 )
...
* proxy: use a new context for the outgoing request
fix issue #1345
Signed-off-by: Tw <tw19881113@gmail.com>
* proxy: add test for canceling the request
Signed-off-by: Tw <tw19881113@gmail.com>
2017-01-23 18:03:42 -07:00
Tw
ecf852ea43
proxy: fix TestReverseProxy failure on go tip ( #1360 )
...
Because of this commit(6e36811c37399d60cbce587b7c48e611009c5aec) on go tip,
it will probe the request's body to determine whether to use chunked transfer
encoding which trailers depend on it.
So we just offer a non empty body to make trailers work.
fix issue #1359
Signed-off-by: Tw <tw19881113@gmail.com>
2017-01-18 15:34:25 -07:00
Leonard Hecker
601838ac96
proxy: Added TestReverseProxyLargeBody test case
...
This test ensures that the optimizations in 8048e9c
are actually effective.
2017-01-11 19:38:52 +01:00
Tw
633567744d
proxy: refactor TestUpstreamHeadersUpdate and TestDownstreamHeadersUpdate
...
Signed-off-by: Tw <tw19881113@gmail.com>
2017-01-09 09:07:04 +08:00
Leonard Hecker
4babe4b201
proxy: Added support for HTTP trailers
2016-12-30 18:34:26 +01:00
Leonard Hecker
20483c23f8
Added end-to-end test case for #1292
2016-12-26 20:53:18 +01:00
Leonard Hecker
a3aa414ff3
Fixed HTTP/2 support for the proxy middleware ( #1300 )
...
* Fixed HTTP/2 support for the proxy middleware
http.Transport instances whose TLSClientConfig, Dial, or DialTLS field
is non-nil will be configured without HTTP/2 support by default.
This commit adds the proper calls to http2.ConfigureTransport()
everywhere a http.Transport is created and thus fixes HTTP/2 in the
proxy middleware whenever insecure_skip_verify or keepalive is provided.
* Added HTTP/2 support check to TestReverseProxyInsecureSkipVerify
2016-12-21 12:44:07 -07:00
Guiheux Steven
8653b70c32
test: add unit test for #1283 ( #1288 )
2016-12-07 18:59:02 -07:00
Matthew Holt
36f8759a7b
Ensure some tests remove temporary directories they created
2016-11-28 22:26:54 -07:00
Gyula Voros
b783caaaed
Filter empty headers ( #1239 )
...
* Filter empty headers
Some web servers (e.g. Jetty 9.3) don’t like HTTP headers with empty values. This commit filters header replacements with zero length.
* Extend tests to verify removal of empty headers
* Handle add-header case
* Change - Use short variable assignment
2016-11-16 21:41:53 -07:00
Benny Ng
dd4c4d7eb6
proxy: record request Body for retry ( fixes #1229 )
2016-11-04 19:15:36 +08:00
Mateusz Gajewski
c2853ea64b
Use proper Request ( #1197 )
...
* Use proper Request
* Fixes
2016-10-25 09:28:53 -06:00
Matt Holt
550b1170bd
Merge branch 'master' into 1173
2016-10-13 22:56:19 -06:00
Tw
4baca884c5
proxy: preserve path trailing slash if it was there
...
fix issue #1177
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-11 17:06:59 +08:00
Tw
d0455c7b9c
add more descriptive errors
...
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-11 10:34:51 +08:00
Tw
cc638c7faa
proxy: handle 'without' option in encoded form of URL path
...
fix issue #1154
Signed-off-by: Tw <tw19881113@gmail.com>
2016-10-02 19:32:14 +00:00
Matt Holt
871d11af00
Merge pull request #1135 from mholt/proxyerrs
...
proxy: Improve failover logic and retries
2016-09-27 17:53:44 -06:00
Tw
c9b022b5e0
proxy: don't append some predefined headers
...
fix issue #1086
Signed-off-by: Tw <tw19881113@gmail.com>
2016-09-25 09:24:27 +00:00
Matthew Holt
a661007a55
proxy: Fix retry logic for when no hosts are available
2016-09-24 16:30:40 -06:00
Matthew Holt
37f05e450f
proxy: Add try_duration and try_interval; by default don't retry
2016-09-24 16:03:22 -06:00
Tw
4670d13c8c
proxy: fix checking error in TestDownstreamHeadersUpdate and TestUpstreamHeadersUpdate
...
Signed-off-by: Tw <tw19881113@gmail.com>
2016-09-24 19:28:42 +00:00
Issac Trotts
1991083322
Fix tests to not make long unix domain socketpaths
...
Some tests were running into this issue:
https://github.com/golang/go/issues/6895
Putting the sockets into temp dirs fixes the problem.
2016-08-29 18:09:46 -07:00
Nimi Wariboko Jr
8898066455
Merge branch 'master' into proxy/single-webconn
2016-08-05 16:57:54 -07:00
Nimi Wariboko Jr
824ec6cb95
Merge branch 'master' into proxy/keepalive-directive
2016-08-05 16:20:37 -07:00
Nimi Wariboko Jr
5b5e365295
Instead of treating 0 is a default value, use http.DefaultMaxIdleConnsPerHost
2016-08-05 15:41:32 -07:00
Tw
94c63e42d6
proxy: add Host header checking
...
fix issue #993
Signed-off-by: Tw <tw19881113@gmail.com>
2016-08-04 13:07:20 +08:00
Nimi Wariboko Jr
6e9439d22e
Proxy: Fix data race in test.
2016-08-02 12:39:15 -07:00
Eric Drechsel
c4e65df262
Proxy: Add a failing test which replicates #763
...
2 websocket connections are made instead of one
2016-08-01 19:09:02 -07:00
Kris Hamoud
88d3dcae42
added ip_hash load balancing
...
updated tests
fixed comment format
fixed formatting, minor logic fix
added newline to EOF
updated logic, fixed tests
added comment
updated formatting
updated test output
fixed typo
2016-08-01 18:50:53 -07:00
Nimi Wariboko Jr
db4cd8ee2d
Proxy: Add keepalive directive to proxy to set MaxIdleConnsPerHost on transport. Fixes #938
2016-08-01 15:54:07 -07:00
Matthew Holt
c8daaba4be
Update link to SA 1.1.1 (and other minor tweaks)
2016-07-28 11:11:14 -06:00
Viacheslav Chimishuk
62e8c4b76b
Use authentification credentials from proxy's configuration as a default. ( #951 )
2016-07-22 11:33:50 -06:00
Matthew Holt
57710e8b0d
Revert "Merge pull request #931 from pedronasser/master"
...
This reverts commit 9ea0591951
, reversing
changes made to 2125ae5f99
.
2016-07-21 13:31:43 -06:00
Tw
beae16f07c
Proxy performance ( #946 )
...
* proxy: add benchmark
Signed-off-by: Tw <tw19881113@gmail.com>
* replacer: prepare lazily
update issue#939
benchmark old ns/op new ns/op delta
BenchmarkProxy-4 83865 72544 -13.50%
Signed-off-by: Tw <tw19881113@gmail.com>
* proxy: use buffer pool to avoid temporary allocation
Signed-off-by: Tw <tw19881113@gmail.com>
2016-07-20 19:06:14 -06:00
Pedro Nasser
6bb1e0c674
improve transparent mode
2016-07-14 18:16:58 -03:00
Maxime
e5bf8cab24
Test that the host header forwarding on the proxy middleware
2016-06-29 16:52:31 -07:00
Viacheslav Biriukov
345ece3850
add multi proxy supprot based on urls
2016-06-28 16:35:35 -06:00
Matthew Holt
416af05a00
Migrating more middleware packages
2016-06-05 21:51:56 -06:00