Commit Graph

37 Commits

Author SHA1 Message Date
Aliaksandr Valialkin 27862cc299 Fixed data races in Request.ReadTimeout() and Response.ReadTimeout(). Documented that the request and response instances cannot be used after ErrReadTimeout error 2015-10-26 14:13:33 +02:00
Aliaksandr Valialkin d76f5c5aba Log connection-related info on error 2015-10-23 19:38:16 +03:00
Aliaksandr Valialkin c29a569245 Removed TimeoutListener, since Server now contains nesessary ReadTimeout and WriteTimeout knobs 2015-10-23 15:57:36 +03:00
Aliaksandr Valialkin e9d6d7f561 Document Request, Response, RequestHeader, ResponseHeader, URI and Args 2015-10-23 15:56:12 +03:00
Aliaksandr Valialkin 40e775dce5 Added TimeoutHandler 2015-10-23 14:56:01 +03:00
Aliaksandr Valialkin 7874b9245a Properly implement request read timeout via SetReadDeadline(). Implement response write timeout 2015-10-23 13:26:15 +03:00
Aliaksandr Valialkin c842617b00 microoptimization: convert io.ReadWriter to remoteAddrer only before use 2015-10-23 13:01:09 +03:00
Aliaksandr Valialkin ffc2b7025d Added URI path normalization, i.e. //foo//../bar converts to /foo/bar 2015-10-22 17:50:47 +03:00
Aliaksandr Valialkin bf2a91a77b Do not encode dot in args 2015-10-22 17:48:14 +03:00
Aliaksandr Valialkin ff291a0679 release timer on request/response read timeout 2015-10-22 15:48:06 +03:00
Aliaksandr Valialkin 9fc3f767e6 Added timeout covering full request read 2015-10-22 14:32:20 +03:00
Aliaksandr Valialkin 444dfb7213 converted needMoreError to static error. This may improve server performance in production if clients send request headers in chunks 2015-10-22 14:27:30 +03:00
Aliaksandr Valialkin 5f59068f37 Added TimeoutListener 2015-10-22 12:48:17 +03:00
Aliaksandr Valialkin 9a1e1f2e61 Renamed ServerCtx to more appropriate RequestCtx 2015-10-22 11:46:33 +03:00
Aliaksandr Valialkin d33ef331de Access host and contentType directly in Request.ParseURI() and Request.ParsePostArgs() 2015-10-22 11:44:04 +03:00
Aliaksandr Valialkin db43ebb688 Access ResponseHeader.server directly when writing responses via Server. This improves Server benchmarks by a little margin 2015-10-22 11:41:43 +03:00
Aliaksandr Valialkin efdd860ffb Removed dubious StatusCode type - use StatusMessage() instead 2015-10-22 11:33:22 +03:00
Aliaksandr Valialkin 0f354f62ee Added gitignore 2015-10-21 17:14:03 +03:00
Aliaksandr Valialkin 79220b6876 Added TODO 2015-10-21 17:13:41 +03:00
Aliaksandr Valialkin e37ca92638 Speed up headers by caching the most frequently used fields such as Content-Type, Host and Server 2015-10-21 16:53:50 +03:00
Aliaksandr Valialkin b1a76330d5 Do not suppress logger in server benchmarks 2015-10-21 16:34:12 +03:00
Aliaksandr Valialkin 1ac3807782 Added cache for RequestHandler data into ServerCtx 2015-10-21 16:29:03 +03:00
Aliaksandr Valialkin d0deaebb43 Added request start time to ServerCtx 2015-10-21 16:09:35 +03:00
Aliaksandr Valialkin 45d00cad56 Fixed broken test 2015-10-21 16:06:15 +03:00
Aliaksandr Valialkin 37cb5a0c67 Added status codes from net/http 2015-10-21 16:02:53 +03:00
Aliaksandr Valialkin 9febb1de1f Added common request headers such as User-Agent and Referer to requests in benchmarks 2015-10-21 15:11:47 +03:00
Aliaksandr Valialkin d49d752a65 Substituted racy ServerCtx.Steal() with ServerCtx.TimeoutError() 2015-10-21 15:05:44 +03:00
Aliaksandr Valialkin 392c3d66b9 Added *Header.SetBytes() 2015-10-20 12:51:29 +03:00
Aliaksandr Valialkin ee62382f34 Uniformly process all headers 2015-10-20 12:36:33 +03:00
Aliaksandr Valialkin 731dfe6539 Added 'not modified' status code message 2015-10-19 21:06:27 +03:00
Aliaksandr Valialkin 9798f80336 Added ability to set/get arbitrary request headers 2015-10-19 20:55:49 +03:00
Aliaksandr Valialkin c9dd39dd4a Added ability to set arbitrary response headers 2015-10-19 20:01:16 +03:00
Aliaksandr Valialkin ffc5e4a8ca Convert CopyBytesStr() to more generic AppendBytesStr() 2015-10-19 13:58:44 +03:00
Aliaksandr Valialkin b942a09cbe Added link to godoc 2015-10-19 01:25:11 +03:00
Aliaksandr Valialkin 5639c1f230 Merge remote-tracking branch 'origin/master' 2015-10-19 01:22:47 +03:00
Aliaksandr Valialkin a049630bca initial commit 2015-10-19 01:21:09 +03:00
Aliaksandr Valialkin 2422ae1a0d Initial commit 2015-10-19 01:19:57 +03:00