Commit Graph

830 Commits

Author SHA1 Message Date
Aliaksandr Valialkin f68634569e Issue #103: Set 'Server' response header before calling user-provided request handler 2016-05-24 15:41:08 +03:00
Aliaksandr Valialkin 57d56c2d34 Fixed flacky TestServerResponseBodyStream 2016-05-24 15:27:30 +03:00
Aliaksandr Valialkin 6c5368b250 Issue #103: Added FS.CompressedFileSuffix and clarified FSHandlerCacheDuration documentation 2016-05-24 13:22:59 +03:00
Aliaksandr Valialkin fa50251b46 Issue #100: accept POST query args with arbitrary charset set via Content-Type 2016-05-20 18:14:06 +03:00
Aliaksandr Valialkin e40caade41 Updated performance numbers for our production system 2016-05-17 17:16:48 +03:00
Denis Jannot 4959fd04db To make it compatible with the Rumprun unikernel (#98)
* Update reuseport.go

* Update reuseport_bsd.go
2016-05-16 18:54:32 +03:00
Aliaksandr Valialkin f36b47782a removed memory allocations from tryDial. This should improve performance for non-keepalive connections 2016-05-16 17:17:18 +03:00
Aliaksandr Valialkin ecba84a7fe Issue #95: Added 'Related projects' chapter into README 2016-05-12 11:23:01 +03:00
Aliaksandr Valialkin 4e35fde934 Issue #95: added an installation section to README.md 2016-05-11 20:40:03 +03:00
Aliaksandr Valialkin e4ed265221 Fixed a typo 2016-05-10 15:00:34 +03:00
Aliaksandr Valialkin f43cd21abb Issue #93: added an example for reuseport.Listener 2016-05-10 14:58:07 +03:00
Anton Tyurin b7687e4f75 reuseport: close Listener in case of error (#94)
If closing of an underlying File returns error, a Listener will not
be returned to a user and will not be closed as well.

Signed-off-by: Anton Tiurin <noxiouz@yandex.ru>
2016-05-10 14:43:57 +03:00
Aliaksandr Valialkin fcba2aa2f2 travis: switched from gox to GOOS/GOARCH environment variables for build tests on supported platforms 2016-05-06 18:36:29 +03:00
Aleksandr Razumov 7304bdd09c explicitly skip tests for platforms that not support unix sockets (#90) 2016-05-05 16:39:31 +03:00
Aliaksandr Valialkin 27e5b1641e simplified build tags in client_unix_test.go according to the comment at https://github.com/valyala/fasthttp/pull/89/files#r62045992 2016-05-04 17:26:36 +03:00
Aliaksandr Valialkin b20e23a7ee Merge pull request #89 from ernado/feature/windows-fs-fix
Fix for issue #86
2016-05-04 17:24:05 +03:00
Aleksandr Razumov 92ec2638f3 go fmt 2016-05-04 13:22:58 +03:00
Aleksandr Razumov 0f298a7969 fix tests on unix 2016-05-04 13:22:35 +03:00
Aleksandr Razumov 0095981a19 fix tests on Windows 2016-05-04 10:08:10 +03:00
Aleksandr Razumov 5e1bdcae2d Issue #86: Fixed leading slash on Windows 2016-05-04 10:07:11 +03:00
Aliaksandr Valialkin 3509bd8a7d Issue #83: Added ResponseHeader.DelClientCookie for instructing the client for removing the given cookie. Clarified ResponseHeader.DelCookie documentations 2016-04-29 14:40:55 +03:00
Aliaksandr Valialkin 0f76772285 Do no allocate memory for error when an empty string is passed to ParseIPv4() 2016-04-28 13:07:09 +03:00
Aliaksandr Valialkin 2a12271406 Issue #83: Added DelCookie* methods to RequestHeader and ResponseHeader 2016-04-24 22:34:33 +03:00
Aliaksandr Valialkin 2d5c6fd01a Added Server.ConnID() for associating distinct requests that come from the same client connection 2016-04-24 22:01:13 +03:00
Aliaksandr Valialkin 2296988764 server: prefer server ciphers for TLS. This improves server rating on https://www.ssllabs.com/ssltest/analyze.html v20160419 2016-04-19 12:30:49 +03:00
Aliaksandr Valialkin 281be30c26 Client optimization: reduce the number of SetReadDeadline/SetWriteDeadline calls for keep-alive connections, since they don't scale properly. See https://github.com/golang/go/issues/15133 for details. 2016-04-15 23:33:41 +03:00
Aliaksandr Valialkin c9c8d72607 Issue #78: immediately flush chunked data to client 2016-04-15 23:14:38 +03:00
Aliaksandr Valialkin b6da470e12 Issue #78: Mention Iris with fasthttp support in 'web frameworks and routers' chapter in the README 2016-04-15 18:41:59 +03:00
Aliaksandr Valialkin 05949704db Issue #78: Added an example for RequestCtx.SetBodyStreamWriter 2016-04-15 18:05:57 +03:00
Aliaksandr Valialkin 5fdbeef505 Server optimization: reduce the number of SetReadDeadline/SetWriteDeadline calls for keep-alive connections, since they don't scale properly. See https://github.com/golang/go/issues/15133 for details 2016-04-15 13:47:44 +03:00
Aliaksandr Valialkin 33163198b1 sped up slow tests under 'go test -race' 2016-04-15 13:47:42 +03:00
Aliaksandr Valialkin cb7c08f920 Updated performance numbers in README 2016-04-06 15:19:50 +03:00
Aliaksandr Valialkin 8d147e45af Issue #76: fixed data races in TimeoutHandler and RequestCtx.TimeoutError*. Updated tests for catching similar data races in the future 2016-04-06 15:08:34 +03:00
Aliaksandr Valialkin e9544cbb6f client: get rid of slow math/rand for sleep jitter generation 2016-04-04 15:02:33 +03:00
Aliaksandr Valialkin adac101acf Merge branch 'master' of https://github.com/valyala/fasthttp 2016-04-04 12:05:44 +03:00
Aliaksandr Valialkin ebc297b394 Refer to quicktemplate from 'optimization hints' chapter 2016-04-04 12:05:33 +03:00
Aliaksandr Valialkin 3f0e1bb92f PipelineClient: take into account queued requests waiting to be sent to the server in PendingRequests() 2016-04-03 11:19:52 +03:00
Aliaksandr Valialkin 9c292dcd3e PipelineClient: do not send timed out requests to the server 2016-04-03 11:11:27 +03:00
Aliaksandr Valialkin 316adc4782 PipelineClient.Do: try substituting the oldest request in the pending queue by the current one on queue overflow 2016-04-03 10:58:55 +03:00
Aliaksandr Valialkin 8ae2d3e53c PipelineClinet: added MaxBatchDelay option 2016-04-02 23:18:34 +03:00
Aliaksandr Valialkin ca21b21eba Return ErrPipelineOverflow from PipelineClient.Do if the pending requests' queue is overflown. This should prevent from caller's goroutines leak on stalled pipeline client 2016-04-01 18:21:35 +03:00
Aliaksandr Valialkin 22c9594090 Added PipelineClient for issuing pipelined requests to the server 2016-04-01 18:06:59 +03:00
Aliaksandr Valialkin a0377f758e workerpool: test cleaner 2016-03-31 14:56:39 +03:00
Aliaksandr Valialkin 9f20a62336 added workerpool tests 2016-03-31 14:41:27 +03:00
Aliaksandr Valialkin 4fa2d5db39 workerpool: bugfix: do not return workerChan to ready pool on panic 2016-03-31 12:37:46 +03:00
Aliaksandr Valialkin e64702d6f0 workerpool: removed a hack for recycling worker stacks, since Go runtime must be able to shrink big stacks when they aren't needed 2016-03-31 10:31:53 +03:00
Aliaksandr Valialkin 65540104b3 server: verify request's 'Connection: close' after request handler returns 2016-03-31 10:17:29 +03:00
Aliaksandr Valialkin 7d29fb3b3d server: added DisableKeepalive option for disabling keep-alive connections 2016-03-31 10:05:31 +03:00
Aliaksandr Valialkin 9946a8145e bytesconv: reduce memory allocations on parse errors by using static errors 2016-03-30 20:49:09 +03:00
Aliaksandr Valialkin 57cbe65ddc scalability improvement: use per-server peripconn pool 2016-03-30 20:34:07 +03:00