Commit Graph

230 Commits

Author SHA1 Message Date
Aliaksandr Valialkin 8528d53d2c Updated README.md 2015-11-22 14:08:31 +02:00
Aliaksandr Valialkin 3cc7fe9675 Moved byte slice manipulation functions to bytesconv.go 2015-11-22 13:45:42 +02:00
Aliaksandr Valialkin 016fda260f Updated docs 2015-11-22 13:41:30 +02:00
Aliaksandr Valialkin 9f7463cd28 Access Cookie members via accessors 2015-11-22 13:29:21 +02:00
Aliaksandr Valialkin 46ac549ae1 Access URI members via accessors 2015-11-22 13:05:24 +02:00
Aliaksandr Valialkin 82811d58f6 Added AppendBytes and WriteTo to URI 2015-11-22 06:39:06 +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 0cd1e39f77 Added package docs 2015-11-22 05:43:12 +02:00
Aliaksandr Valialkin 14fcfcd65b Properly track connection start time and per-connection request num 2015-11-22 04:34:26 +02:00
Aliaksandr Valialkin 96b9f2cd84 gofmt 2015-11-22 04:33:57 +02:00
Aliaksandr Valialkin 6be8800950 Properly keep request start time in acquireByteReader 2015-11-22 04:11:37 +02:00
Aliaksandr Valialkin e4478bf22e Added tests for Header.Write 2015-11-22 02:41:27 +02:00
Aliaksandr Valialkin 82aca55d5a API consistency fix - GetCookie -> Cookie, PeekCookie -> Cookie 2015-11-22 02:16:05 +02:00
Aliaksandr Valialkin 22c2789727 Added WriteTo, AppendBytes and String methods to RequestHeander and ResponseHeader 2015-11-22 02:14:09 +02:00
Aliaksandr Valialkin 924d119e96 Added Cookie.WriteTo 2015-11-22 01:32:39 +02:00
Aliaksandr Valialkin a8bfab03d8 API prettifying: ServeConnTime -> ConnTime, ServeConnRequestNum -> ConnRequestNum 2015-11-22 01:29:42 +02:00
Aliaksandr Valialkin 0109f3a8d6 Defer allocating RequestCtx if requests' frequency on keep-alive connection is less than 1 HZ (1 req/s). This reduces memory usage for servers with a million of concurrent connections with infrequent requests 2015-11-22 01:22:31 +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 5af424687b Removed obsolete comment 2015-11-22 00:41:34 +02:00
Aliaksandr Valialkin 5407951c06 Do not parse raw headers when writing request headers. This should improve request proxying speed 2015-11-22 00:41:06 +02:00
Aliaksandr Valialkin 47e6a79de6 Added missing doc string 2015-11-22 00:39:45 +02:00
Aliaksandr Valialkin 982240828b Set SO_REUSEADDR in reuseport.Listen() like standard net package do 2015-11-20 15:03:41 +02:00
Aliaksandr Valialkin a109d2bb6e Renamed NewListener to Listener to be consistent with go's net package 2015-11-20 14:55:22 +02:00
Aliaksandr Valialkin db29399a7d Added net.Listener with reuseport support 2015-11-20 14:46:12 +02:00
Aliaksandr Valialkin 3db5dc0ef2 Do not allocate memory on BodyWriter() call 2015-11-19 18:48:21 +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 b5a101843a Added SetUint helper to Args 2015-11-19 12:27:01 +02:00
Aliaksandr Valialkin ed68dfc5f6 Optimization: do not parse full requests headers on ConnectionClose and Header calls. This should speed up common case with GET requests on the server 2015-11-19 12:15:20 +02:00
Aliaksandr Valialkin 954a0615dc Fixed a typo in RequestCtx.SetConnectionClose() 2015-11-19 11:51:04 +02:00
Aliaksandr Valialkin 7bffd9aed5 removed charset=utf-8 from default content-type, since it is implied by default 2015-11-19 11:49:12 +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 548333e1c4 Added Write() function to RequestCtx for populating response body 2015-11-18 14:20:39 +02:00
Aliaksandr Valialkin 72347ec910 Added BodyWrite() to Request and Response for writing request and response bodies 2015-11-18 14:17:42 +02:00
Aliaksandr Valialkin 86fe38c7a2 Hide Respone and Request body behind Body accessors 2015-11-18 14:00:24 +02:00
Aliaksandr Valialkin 3ee3da595e Added Response.SetStatusCode 2015-11-18 13:51:04 +02:00
Aliaksandr Valialkin 6d16259215 Added SetBody and SetBodyStream methods to Response and RequestCtx 2015-11-18 13:49:23 +02:00
Aliaksandr Valialkin 5c3b0287db API simplification: SetResponseBody -> SetBody 2015-11-18 13:33:29 +02:00
Aliaksandr Valialkin 42fc4078fb Formatting fix 2015-11-17 20:00:26 +02:00
Aliaksandr Valialkin c9ec8e85e0 Added MaxrequestsPerConn limit to Server 2015-11-17 16:39:45 +02:00
Aliaksandr Valialkin f3b4ff17b1 Added accessors for determining ServeConn call start time and the sequence number of request served in the connection 2015-11-17 16:29:14 +02:00
Aliaksandr Valialkin 2eff1422af Added referer accessor to RequestHeader 2015-11-17 13:47:00 +02:00
Aliaksandr Valialkin 2499cde277 Added referer accessor to RequestCtx 2015-11-17 13:42:05 +02:00
Aliaksandr Valialkin a45841e425 Optimized header lines' scanner 2015-11-17 12:52:43 +02:00
Aliaksandr Valialkin 651b992f58 Immediately parse POST request headers, since delayed parsing gives no any performance benefits 2015-11-17 12:08:07 +02:00
Aliaksandr Valialkin 0d9c2f38b0 Move response body creation outside hot path in server benchmarks 2015-11-17 11:47:38 +02:00
Aliaksandr Valialkin 800fe1306b Server microoptimization: check response's 'connection: close' first 2015-11-17 11:38:25 +02:00