Aliaksandr Valialkin
|
d2db95337f
|
Removed 'v interface{}' hack from structs managed via sync.Pool, since it has no sense
|
2015-12-23 11:39:40 +02:00 |
|
Aliaksandr Valialkin
|
cf6efe4c3f
|
Export AcquireRequest, AcquireResponse, ReleaseRequest and ReleaseResponse
|
2015-12-19 20:25:03 +02:00 |
|
Aliaksandr Valialkin
|
f520ed8177
|
Follow-up tests after the pull request #19: added missing tests
|
2015-12-16 20:00:17 +02:00 |
|
招牌疯子
|
cd6b2ebf66
|
Fixed client copy resp from respCopy inversely
|
2015-12-16 13:50:03 +08:00 |
|
Aliaksandr Valialkin
|
0ac2d5f35e
|
Removed DialTLS*, since it must be handled by client code
|
2015-12-07 16:44:14 +02:00 |
|
Aliaksandr Valialkin
|
9c70042061
|
Exported default TCP dialers used by clients, so custom wrappers may be implemented around these dialers
|
2015-12-07 16:12:28 +02:00 |
|
Aliaksandr Valialkin
|
32022e42d0
|
Documentation fix for Do()
|
2015-12-07 13:55:59 +02:00 |
|
Aliaksandr Valialkin
|
4ac44f0c6c
|
Mention which structs are safe for use from concurrently running goroutines (Server, Client and HostClient) and which structs are unsafe to use from concurrently running goroutines - all the other
|
2015-12-03 13:38:59 +02:00 |
|
Aliaksandr Valialkin
|
3c903772f2
|
Avoid memory allocation when cleaning stale workers and connections
|
2015-12-02 08:24:55 +02:00 |
|
Aliaksandr Valialkin
|
235d4932da
|
Check for stale workers and connections every 10 seconds instead of every second. This should reduce cleaners' overhead
|
2015-12-01 13:42:53 +02:00 |
|
Aliaksandr Valialkin
|
a3965934a1
|
Simplify GC life by zeroing references to closed worker chans and client conns
|
2015-12-01 13:32:05 +02:00 |
|
Aliaksandr Valialkin
|
d0289e11d9
|
Allow TCP addresses without port in HostClient
|
2015-11-30 18:22:45 +02:00 |
|
Aliaksandr Valialkin
|
f214dc327f
|
Scalability improvement: do not move read workers' queue when cleaning old workers. This should reduce latencies when server serves multi-million concurrent connections
|
2015-11-30 11:26:39 +02:00 |
|
Aliaksandr Valialkin
|
3a31c4bdef
|
cleaned up some cruft in Client.Do
|
2015-11-29 12:22:18 +02:00 |
|
Aliaksandr Valialkin
|
3a406649a1
|
Retry PUT requests as they are idempotent according to http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
|
2015-11-29 12:07:46 +02:00 |
|
Aliaksandr Valialkin
|
a86ebd88ea
|
Issue #7: fixed unaligned 64-bit access on ARM in client code
|
2015-11-28 20:10:18 +02:00 |
|
Aliaksandr Valialkin
|
8563a2e762
|
Follow redirects in client Get* and Post* methods. Added Redirect method to RequestCtx.
|
2015-11-28 14:47:19 +02:00 |
|
Aliaksandr Valialkin
|
87d525b89a
|
Removed unused Logger from Client and HostClient
|
2015-11-28 10:42:01 +02:00 |
|
Aliaksandr Valialkin
|
df6fda8c33
|
Added ability to limit request body size on the server and response body size on the client
|
2015-11-27 13:22:15 +02:00 |
|
Aliaksandr Valialkin
|
a3fd75d237
|
Eliminated memory allocations from client's DoTimeout and GetTimeout
|
2015-11-26 17:04:27 +02:00 |
|
Aliaksandr Valialkin
|
79313ec7a9
|
Fixed a bug in ipv4 addresses resolution if the resolved ip addresses contain non-zero number of ipv6 addresses
|
2015-11-25 15:23:42 +02:00 |
|
Aliaksandr Valialkin
|
6816e2b03c
|
Clients dial only ipv4 addresses by default due to bad ipv6 support in our networks. Use DialDualStack for dialing both ipv4 and ipv6 addresses
|
2015-11-25 15:14:31 +02:00 |
|
Aliaksandr Valialkin
|
0fa8e8efc7
|
Client: dial both tcp4 and tcp6 addresses
|
2015-11-25 14:30:51 +02:00 |
|
Aliaksandr Valialkin
|
0b2690febe
|
Added GetTimeout method to client
|
2015-11-25 13:45:34 +02:00 |
|
Aliaksandr Valialkin
|
9decd4d0ac
|
Properly handle negative timeouts in client's DoTimeout
|
2015-11-24 17:33:25 +02:00 |
|
Aliaksandr Valialkin
|
c6fcca3ae6
|
Added ReadTimeout and WriteTimeout settings to client
|
2015-11-24 17:14:34 +02:00 |
|
Aliaksandr Valialkin
|
3a1a2ddfc8
|
Randomize sleep time in Client.DoTimeout when waiting for free connection to the host
|
2015-11-23 12:26:32 +02:00 |
|
Aliaksandr Valialkin
|
46ac549ae1
|
Access URI members via accessors
|
2015-11-22 13:05:24 +02:00 |
|
Aliaksandr Valialkin
|
a862d8592a
|
Documentation update
|
2015-11-22 06:33:58 +02:00 |
|
Aliaksandr Valialkin
|
2d18e84d04
|
Handle 'no free connections to host' error when doing request with user-defined timeout
|
2015-11-22 06:00:04 +02:00 |
|
Aliaksandr Valialkin
|
dec5ac841c
|
Fixed a bug with improper HostClient map updating in Client.Do. This bug led to new HostClient creation on each Client.Do request
|
2015-11-22 01:10:41 +02:00 |
|
Aliaksandr Valialkin
|
2b1eca3a70
|
Optimize request uri parsing - defer Host header reading
|
2015-11-19 15:05:27 +02:00 |
|
Aliaksandr Valialkin
|
48c0f89ee7
|
Added Stringer implementations to URI, Args and Cookie
|
2015-11-19 12:51:34 +02:00 |
|
Aliaksandr Valialkin
|
a2601c68af
|
API consistency change - make Response.StatusCode accessor
|
2015-11-19 11:39:20 +02:00 |
|
Aliaksandr Valialkin
|
835bf87605
|
API consistency: Clear -> Reset to be consistent with standard go packages
|
2015-11-18 17:55:28 +02:00 |
|
Aliaksandr Valialkin
|
b838ff99c7
|
Pass host:port as addr to custom DialFunc in HostClient
|
2015-11-18 17:20:25 +02:00 |
|
Aliaksandr Valialkin
|
86fe38c7a2
|
Hide Respone and Request body behind Body accessors
|
2015-11-18 14:00:24 +02:00 |
|
Aliaksandr Valialkin
|
42fc4078fb
|
Formatting fix
|
2015-11-17 20:00:26 +02:00 |
|
Aliaksandr Valialkin
|
2dbf142a06
|
convert connectionClose to accessor
|
2015-11-16 18:23:08 +02:00 |
|
Aliaksandr Valialkin
|
22461f2c90
|
Access user-agent via UserAgent accessor
|
2015-11-16 16:35:35 +02:00 |
|
Aliaksandr Valialkin
|
f1f78f0828
|
Hide Request.URI and Request.PostArgs behind accessors, which automatically call parse URI and PostArgs on first access
|
2015-11-15 23:47:22 +02:00 |
|
Aliaksandr Valialkin
|
8aef785c1e
|
Added DoTimeout() to client
|
2015-11-14 23:18:52 +02:00 |
|
Aliaksandr Valialkin
|
1f531237c2
|
allow nil response in Do() and nil Args in Post()
|
2015-11-14 22:16:05 +02:00 |
|
Aliaksandr Valialkin
|
734c1a311b
|
Retry idempotent requests on failure
|
2015-11-14 20:09:49 +02:00 |
|
Aliaksandr Valialkin
|
1f81c87c38
|
Substituted direct access to Request.Method by accessors, so package users don't shoot in the foot when assigning directly to Request.Method
|
2015-11-14 17:34:12 +02:00 |
|
Aliaksandr Valialkin
|
69f3c67fce
|
Added benchmark for measuring the maximum client throughput
|
2015-11-13 19:38:46 +02:00 |
|
Aliaksandr Valialkin
|
af2218ffaf
|
Add optional Dial callback and TLSConfig to Client
|
2015-11-13 17:55:54 +02:00 |
|
Aliaksandr Valialkin
|
3648ae63f7
|
Optimized updating lastUseTime
|
2015-11-13 16:43:55 +02:00 |
|
Aliaksandr Valialkin
|
f8bfa12215
|
Added Post() method to client
|
2015-11-13 16:13:22 +02:00 |
|
Aliaksandr Valialkin
|
15cd28e255
|
do not update HostClient.MaxConns
|
2015-11-13 11:57:39 +02:00 |
|