Commit Graph

1011 Commits

Author SHA1 Message Date
Erik Dubbelboer 5576019a85 Fix bug that prevents custom user-agents 2018-08-24 15:31:04 +03:00
Erik Dubbelboer a58298a3a8 Fix doc for some time functions
They still said the return value would be truncated to the nearest
second which is false after ef10ed05a3.
2018-08-21 17:58:36 +03:00
Kirill Danshin 9730312fdb Merge pull request #369 from erikdubbelboer/trueargs
handle 't' and 'true' as bool in QueryArgs
2018-08-21 17:58:14 +03:00
Erik Dubbelboer 1e7885eb56 handle 't' and 'true' as bool in QueryArgs
See: https://github.com/erikdubbelboer/fasthttp/pull/46
2018-08-21 22:36:22 +08:00
Kirill Danshin 67064edf27 Merge pull request #364 from erikdubbelboer/pathnotfound
Added PathNotFound handle func for handling 404.
2018-08-18 03:20:51 +03:00
Kirill Danshin 94c5a94ec1 Merge pull request #243 from erikdubbelboer/pprof
Add pprofhandler, fix #235
2018-08-17 22:27:07 +03:00
Kirill Danshin dc5b83b915 fs/pathNotFound: do not overwrite user's status code
Signed-off-by: Kirill Danshin <k@guava.by>
2018-08-17 22:04:50 +03:00
Kirill Danshin 2a9f0d0a07 Merge pull request #380 from erikdubbelboer/clientfollowredirects
Use and InmemoryListener for TestClientFollowRedirects
2018-08-17 21:08:17 +03:00
Erik Dubbelboer 6fd423aac4 Use and InmemoryListener for TestClientFollowRedirects
Prevents travis-ci from throwing:
client_test.go:489: unexpected error: listen tcp4 127.0.0.1:55234: bind:
address already in use
2018-08-18 01:06:36 +08:00
Kirill Danshin 73977b0774 Merge pull request #379 from erikdubbelboer/coarsetime
Remove CoarseTime
2018-08-17 19:18:19 +03:00
Kirill Danshin ef10ed05a3 deprecate CoarseTime and replace it with a shortcut implementation
Signed-off-by: Kirill Danshin <k@guava.by>
2018-08-17 18:12:21 +03:00
Kirill Danshin 4c7269ec2a Revert "Remove CoarseTime"
This reverts commit f2ddaffc31.
2018-08-17 15:32:15 +03:00
Erik Dubbelboer f2ddaffc31 Remove CoarseTime
It is not clear why @valyala introduced this coarse time. Benchmarks on
different systems show that the speedup is no where enough to justify
the added code complexity and bugs it seems to have introduced.

Mac:
BenchmarkCoarseTimeNow-8   	2000000000	         2.49 ns/op
0 B/op	       0 allocs/op
BenchmarkTimeNow-8         	500000000	         3.14 ns/op
0 B/op	       0 allocs/op

Ubuntu:
BenchmarkCoarseTimeNow-4   	300000000	         6.74 ns/op
0 B/op	       0 allocs/op
BenchmarkTimeNow-4         	100000000	        15.9 ns/op
0 B/op	       0 allocs/op

This reverts commit https://github.com/erikdubbelboer/fasthttp/commit/6309f42188ecb28ccf8ac58442739cdb43d75d9e
and https://github.com/erikdubbelboer/fasthttp/commit/32c72cde80f0c591604f825586d6a4bbbb39d9c5.

See: https://github.com/valyala/fasthttp/issues/271,
https://github.com/valyala/fasthttp/pull/269 and
https://github.com/valyala/fasthttp/issues/261.
2018-08-17 17:15:41 +08:00
Erik Dubbelboer 074e62ddb0 Add pprofhandler, fix #235
Similar to expvarhandler but for net/http/pprof
2018-08-17 17:04:14 +08:00
Erik Dubbelboer e3fd87a866 Added PathNotFound handle func for handling 404.
See https://github.com/erikdubbelboer/fasthttp/pull/10
2018-08-17 15:51:44 +08:00
Kirill Danshin 4a16377d6e Merge pull request #303 from chebyrash/master
Typo fixes
2018-08-13 23:18:55 +03:00
Kirill Danshin 8c70077e43 Merge branch 'master' of github.com:valyala/fasthttp 2018-08-13 01:53:56 +03:00
Kirill Danshin 21b8fa5920 ci: temporary disable goimports check
Signed-off-by: Kirill Danshin <kirill@danshin.pro>
2018-08-13 01:53:48 +03:00
Kirill Danshin b4967a0d49 Merge pull request #339 from phachon/master
Update README.md
2018-08-13 01:50:41 +03:00
Kirill Danshin bb3bb6295c Merge pull request #255 from rikvdh/patch-1
Remove iris from README, latest v6 removes fasthttp support
2018-08-13 01:49:28 +03:00
Kirill Danshin 78854f3794 ci: try yet another fix for goimports check
Signed-off-by: Kirill Danshin <kirill@danshin.pro>
2018-08-13 01:43:55 +03:00
Kirill Danshin 5edd8e0f2f Merge branch 'master' of github.com:valyala/fasthttp 2018-08-13 01:31:38 +03:00
Kirill Danshin f5f97aa484 ci: try yet another way for goimports check
Signed-off-by: Kirill Danshin <kirill@danshin.pro>
2018-08-13 01:27:46 +03:00
Kirill Danshin fb5347a023 Merge pull request #231 from erikdubbelboer/testport
Use random ports for tests
2018-08-13 00:51:23 +03:00
Kirill Danshin e38135e90d Merge pull request #332 from 4oi/master
Add missing http methods
2018-08-13 00:49:27 +03:00
Kirill Danshin ae73e1bec7 ci: use another way to check if source code formatted
Signed-off-by: Kirill Danshin <kirill@danshin.pro>
2018-08-13 00:12:54 +03:00
Kirill Danshin 110dea26f8 ci, reuseport, writer: update travis config and goimports -w on whole project
Signed-off-by: Kirill Danshin <kirill@danshin.pro>
2018-08-12 23:56:32 +03:00
Kirill Danshin bca56ee107 Update LICENSE 2018-08-12 21:35:55 +03:00
phachon 31c1eb0c34 Update README.md
add fasthttpsession project
2018-05-08 17:37:34 +08:00
toyblocks a84dc2dc0e Add missing http methods
Add support for 'CONNECT', 'OPTIONS', 'TRACE' and 'PATCH'
2018-03-12 07:00:21 +09:00
Aliaksandr Valialkin e5f51c1191 added missing byte 0xFF into hex2intTable. This fixes panic when decoding specially crafted string like "%\xff" v20180529 2017-12-07 14:09:41 +02:00
Aliaksandr Valialkin 51bb00256c attempt #2 to fix TestTCP6 on travis: run the test only if local tcp6 interface is present 2017-11-08 19:16:02 +02:00
Aliaksandr Valialkin cb0855b7a4 an attempt to fix TestTCP6 on travis. It looks like travis doesnt know about ip6-localhost. Substitute it with [::1] 2017-11-08 14:10:58 +02:00
Aliaksandr Valialkin 56554327e4 Update go version to 1.9.x and 1.8.x for travis builds 2017-11-08 14:06:54 +02:00
Aliaksandr Valialkin e2ac397815 Parse bogus uris with missing slash after hostname like http://foobar.com?baz=123, since such uris occur in real life :( 2017-11-08 13:05:29 +02:00
Aliaksandr Valialkin 70ceaddfae Added RequestCtx.String that returns unique string representation of the request context 2017-10-18 15:53:05 +03:00
xPushkin f24d00fcc6 A lot of typo fixes 2017-10-08 13:30:35 +01:00
Aliaksandr Valialkin 5116aa64e0 Mention that the body returned from Request.Body and Response.Body is valid until the Request/Response modification 2017-09-12 13:15:57 +03:00
Aliaksandr Valialkin bcdf16d04f Removed superflouos slashes from documentation 2017-09-12 13:15:04 +03:00
Aliaksandr Valialkin b43f17d9a9 Added a test that verifies that the client sends all the request headers and body to the server 2017-09-04 13:47:21 +03:00
Aliaksandr Valialkin ae643c872d decodeArgAppend code prettifying 2017-07-21 16:45:47 +03:00
Aliaksandr Valialkin 6ece3d9359 decodeArgAppend* optimization: remove bounds check when decoding percent-encoded string
Benchmark results:

name                           old time/op  new time/op  delta
AppendUnquotedArgSlowPath-4    68.9ns ± 2%  63.5ns ± 2%  -7.88%  (p=0.000 n=10+10)
2017-07-21 16:42:32 +03:00
Aliaksandr Valialkin d257ae60a3 ioptimized decodeArgAppend a bit
Benchmark results on linux/amd64:

name                           old time/op  new time/op  delta
ArgsParse-4                    72.8ns ± 2%  68.0ns ± 2%  -6.59%  (p=0.000 n=10+9)
AppendUnquotedArgFastPath-4    20.4ns ± 2%  21.1ns ± 9%    ~     (p=0.614 n=8+10)
AppendUnquotedArgSlowPath-4    68.9ns ± 3%  70.4ns ± 6%    ~     (p=0.148 n=9+10)
URIParsePath-4                 80.9ns ± 2%  78.7ns ± 2%  -2.80%  (p=0.000 n=10+10)
URIParsePathQueryString-4      88.9ns ± 1%  86.3ns ± 1%  -2.90%  (p=0.000 n=10+8)
URIParsePathQueryStringHash-4  95.7ns ± 8%  91.0ns ± 1%  -4.88%  (p=0.000 n=9+10)
URIParseHostname-4             98.6ns ± 1%  95.4ns ± 1%  -3.24%  (p=0.000 n=10+10)
2017-07-21 16:08:21 +03:00
Aliaksandr Valialkin 52a0993b96 Issue #278: more optimizations for normalizeHeaderKey 2017-07-11 10:17:57 +03:00
Kirill Danshin 179aa635ec add gramework (#280)
Signed-off-by: Kirill Danshin <k@guava.by>
2017-07-10 14:36:13 +03:00
Aliaksandr Valialkin 952171f61b Issue #278: optimize normalizeHeaderKey a bit
Performance results on amd64:

name                            old time/op  new time/op  delta
NormalizeHeaderKeyCommonCase-4  43.3ns ± 0%  32.6ns ± 1%  -24.80%  (p=0.000 n=9+10)
NormalizeHeaderKeyLowercase-4   42.6ns ± 3%  32.6ns ± 1%  -23.41%  (p=0.000 n=10+10)
NormalizeHeaderKeyUppercase-4   43.5ns ± 1%  32.6ns ± 2%  -25.03%  (p=0.000 n=9+8)

Based on top of https://github.com/valyala/fasthttp/pull/279 .
2017-07-10 14:28:06 +03:00
Aliaksandr Valialkin 498431ce67 Added missing bufio.Writer.Flush() in testResponseBodyStream* 2017-06-28 18:18:09 +03:00
Aliaksandr Valialkin 8948e047bf Issue #176: reset Content-Length when compression is enabled for streamed response body 2017-06-27 20:50:04 +03:00
Aliaksandr Valialkin 0f5182f9ce added a fast path to AppendHTMLEscape when the string doesnt contain special chars 2017-06-23 19:04:29 +03:00
Aliaksandr Valialkin 6ac0fd1a91 use more clear decodeArgAppend instead of misleading decodeArg 2017-06-20 18:19:36 +03:00