Aliaksandr Valialkin
a98191f435
Use standard compress/* packages instead of github.com/klauspost/compress/*
...
The reasons are:
- @klauspost optimized standard packages in go1.7+
- This removes an external dependency from fasthttp
2016-10-13 13:01:51 +03:00
Aliaksandr Valialkin
4ca4d0ea09
Client, HostClient, PipelineClient: verify TLS server name
2016-10-12 19:49:23 +03:00
Aliaksandr Valialkin
07f692d02d
Revert "Redirection support for Do(*Request, *Response)"
...
This breaks Get*() with redirects. DoFollowRedirects must be implemented
on top of Do() instead of hacking on internal doRequestFollowRedirects.
This reverts commit 6438022109 .
2016-10-05 12:44:51 +03:00
Aliaksandr Valialkin
0509ba9f93
Revert "removing legacy doRequestFollowRedirects()"
...
This reverts commit 97e154e4cd .
2016-10-05 12:44:45 +03:00
Sick Yoon
97e154e4cd
removing legacy doRequestFollowRedirects()
2016-10-05 12:37:18 +03:00
Sick Yoon
6438022109
Redirection support for Do(*Request, *Response)
2016-10-05 12:37:18 +03:00
Aliaksandr Valialkin
aa4742b5ef
HostClient: make sure only a single connsCleaner is running. Based on the PR #160 by @iizotop
2016-10-05 12:20:17 +03:00
Aliaksandr Valialkin
b43280dfe8
expvarhandler: properly generate json output when regexp filter is present
2016-09-27 20:02:30 +03:00
Aliaksandr Valialkin
930362b9f8
go vet fix
2016-09-27 20:01:51 +03:00
Aliaksandr Valialkin
31a397777b
fasthttputil.PipeConns: add read/write deadline support
2016-09-26 18:09:21 +03:00
Aliaksandr Valialkin
d03a227209
Added reduceMemoryUsage argument to RequestCtx.Init2 - it is required for httpteleport
2016-09-23 12:10:21 +03:00
Aliaksandr Valialkin
a52a42acd6
Added HostClient.PendingRequests(), which may be used for balancing load among multiple HostClient instances
2016-09-21 23:03:30 +03:00
Aliaksandr Valialkin
ec59ce31a6
Added RequestCtx.Init2 function for the upcoming httpteleport project
2016-09-20 20:43:25 +03:00
Aliaksandr Valialkin
95be7a5849
switch reuseport to github.com/valyala/tcplisten
2016-09-13 18:52:22 +03:00
Aliaksandr Valialkin
4f66eb3fbb
Do not busy wait on free connection in DoDeadline and DoTimeout, since this may result in a lot of goroutines stalled in the busy wait for free connections
2016-09-12 14:19:13 +03:00
Aliaksandr Valialkin
3e1cb31dcd
Added SwapBody to Request and Response for zero-copy body pass between Request and Response objects
2016-09-12 13:42:59 +03:00
Aliaksandr Valialkin
0503f9d38c
reuseport: enable TCP_FASTOPEN
2016-09-06 16:19:29 +03:00
Aliaksandr Valialkin
a0f498b65b
reuseport: reduce the number of context switches incurred the listener via TCP_DEFER_ACCEPT
2016-08-29 18:38:03 +03:00
Aliaksandr Valialkin
834fb48f10
Immediately write compressed response data to the connection after the user flushes the data from StreamWriter
2016-08-18 13:03:57 +03:00
Nicolas Bazire
9f7999be97
fix DoDeadline side effect when no free conn ( #145 )
2016-08-17 20:24:33 +03:00
Andrew Pogrebnoy
c6104e0614
Fix Go Report badge in README ( #143 )
2016-08-17 20:22:20 +03:00
Aliaksandr Valialkin
2662f2e1f4
Allow redirecting to urls without scheme, i.e. //google.com/foo.bar
2016-08-17 18:55:32 +03:00
Aliaksandr Valialkin
5210f60181
Detect overriden TLS connections in RequestCtx.IsTLS and RequestCtx.TLSConnectionState
2016-08-17 18:01:59 +03:00
Aliaksandr Valialkin
c665919a09
Fixed a race when reading data from pipe. This fixes flacky tests involving fasthttputil.PipeConns: TestResponseGzipStream and TestWorkerPoolMaxWorkersCountSerial
2016-08-17 17:42:10 +03:00
Aliaksandr Valialkin
8e21bc7f60
do not compress response body again if Content-Encoding is set
2016-08-17 14:50:58 +03:00
Aliaksandr Valialkin
d055141f64
Propagate 'https' scheme to request URI for TLS connections
2016-08-17 14:01:35 +03:00
Aliaksandr Valialkin
28338bdad8
run travis tests on go 1.7
2016-08-17 13:56:33 +03:00
Aliaksandr Valialkin
45697fe30a
Issue #141 : do not urlencode cookies
...
https://tools.ietf.org/html/rfc6265 says nothing about cookies encoding.
2016-07-18 18:25:03 +03:00
Sarjono Mukti Aji
8edddf21b9
add missing http status codes ( #140 )
2016-07-18 17:48:36 +03:00
Aliaksandr Valialkin
45915c69f6
Optimization: recycle request and response body buffers only if Server.ReduceMemoryUsage is set
2016-07-18 17:46:52 +03:00
Aliaksandr Valialkin
a2cc660e59
optimization: removed slow defer from worker pool handler and hijack handler
2016-07-18 17:23:38 +03:00
Aliaksandr Valialkin
881ac52b00
Added support for multiple concurrent connections to server in PipelineClient
2016-07-16 17:36:32 +03:00
Aliaksandr Valialkin
f4ebbdd48b
Removed incorrect statement from PipelineClient.Do docs
2016-07-15 14:41:07 +03:00
Aliaksandr Valialkin
886e541160
Removed 'recover-from-panic' band-aids.
...
All the panics must be handled by the user code.
2016-07-12 12:30:38 +03:00
Aliaksandr Valialkin
d1dd56c016
Issue #131 : document redirects' following for client functions
2016-07-12 10:40:04 +03:00
Victor Gaydov
a0fe3404bf
Add test for fsSmallFileReader.WriteTo and fix bug ( #128 )
...
The bug raises when io.Writer passed to fsSmallFileReader.WriteTo
doesn't support ReadFrom interface.
2016-07-12 09:42:39 +03:00
Gerasimos Maropoulos
006fac3cba
Implement VisitUserValues - https://github.com/valyala/fasthttp/issues/126 ( #129 )
2016-07-12 09:40:24 +03:00
Benjamin Botwin
141ac46e4c
Fixed a few typos in README.md ( #134 )
2016-07-12 09:39:00 +03:00
Aliaksandr Valialkin
5c2b6256da
A follow-up test for the PR #135
2016-07-12 09:37:39 +03:00
Clayton Anderson
1909d6a025
Fixed bug with quoted multipart form boundaries ( #135 )
2016-07-12 09:33:29 +03:00
Victor Gaydov
97d96cb3b7
Handle TransferEncoding in fasthttpadaptor ( #124 )
...
When incoming http.Request is constructed, "Transfer-Encoding" header
is removed, and http.Request.TransferEncoding is set instead.
This behaviour is now emulated in fasthttpadaptor.
2016-06-29 17:36:40 +03:00
Aliaksandr Valialkin
e4db3cb560
Security fix: limit request body size by default
...
This mitigates possible DoS-attacks based on sending very BIG request bodies
to the server with default settings.
Thanks to @MichaelMonashev for pointing to this attack.
2016-06-28 20:54:42 +03:00
Aliaksandr Valialkin
778f83ed89
Discourage using ReleaseBody, since now bytebufferpool should properly handle the case mentioned in #102
2016-06-27 18:26:56 +03:00
Aliaksandr Valialkin
15c8282c3f
typo fix
2016-06-27 17:52:45 +03:00
Aliaksandr Valialkin
80e08dc9ef
Cross-reference Set* with Add* methods on RequestHeader and ResponseHeader
2016-06-27 17:48:32 +03:00
Justin Seely
3d3774799e
Enable IPv6 for reuseport ( #122 )
2016-06-24 17:29:10 +03:00
Aliaksandr Valialkin
efa9cb909e
Issue #121 : Added a test to make sure equal and space chars may be used inside cookie values
2016-06-24 17:22:27 +03:00
Aliaksandr Valialkin
a35f26a704
Deprecate ByteBuffer in favor of bytebufferpool
2016-06-24 16:48:38 +03:00
Aliaksandr Valialkin
00868f2226
Use separate pools for request and response bodies.
...
This should reduce potential memory waste related to byte buffers' pool usage.
2016-06-24 15:15:59 +03:00
Aliaksandr Valialkin
775eb9d43f
Update according to bytebufferpool new API
2016-06-24 14:59:39 +03:00