Aliaksandr Valialkin
|
0d9bc5cfde
|
Extracted predefined strings into a separate file
|
2015-11-03 17:48:44 +02:00 |
|
Aliaksandr Valialkin
|
53e28a262f
|
Set 'Connection: close' header for the 'one request per conn' case in server benchmarks
|
2015-11-03 14:29:03 +02:00 |
|
Aliaksandr Valialkin
|
552dff6fd6
|
Do no hold memory (read/write buffers+RequestCtx data) for idle keep-alive connections. This should reduce memory usage for 100K+ concurrent keep-alive connections to the server
|
2015-11-03 14:16:41 +02:00 |
|
Aliaksandr Valialkin
|
d0b2b2467a
|
Properly handle the case when servers read data by small chunks
|
2015-11-03 14:04:55 +02:00 |
|
Aliaksandr Valialkin
|
1429b48135
|
Remove reference to conn from buffered reader and writer when releasing RequestCtx. This should help GC a bit :)
|
2015-11-02 19:11:09 +02:00 |
|
Aliaksandr Valialkin
|
fb362174d7
|
initRequestCtx -> initCtx for the sake of consistency
|
2015-11-02 18:28:57 +02:00 |
|
Aliaksandr Valialkin
|
6b598d3645
|
moved common code to clearSkipHeader()
|
2015-11-02 18:27:56 +02:00 |
|
Aliaksandr Valialkin
|
3eaecd9c6c
|
Added ability to limit the number of concurrent client connections per ip
|
2015-11-02 15:09:45 +02:00 |
|
Aliaksandr Valialkin
|
7c83bade48
|
Clear response before calling request handler
|
2015-10-30 12:10:27 +02:00 |
|
Aliaksandr Valialkin
|
9a0044fba4
|
Added benchmarks for obtaining header values for normalized and non-normalized keys
|
2015-10-28 18:07:23 +02:00 |
|
Aliaksandr Valialkin
|
7ba1898d05
|
Return net.Addr from RequestCtx.RemoteAddr() and net.IP from RequestCtx.RemoteIP() instead of strings
|
2015-10-27 19:02:11 +02:00 |
|
Aliaksandr Valialkin
|
4edb6bacf4
|
Use QueryString contents if QueryArgs is empty in URI.AppendBytes
|
2015-10-27 19:01:21 +02:00 |
|
Aliaksandr Valialkin
|
664d577260
|
Added SetCanonical() methods to RequestHeader and ResponseHeader
|
2015-10-27 13:36:42 +02:00 |
|
Aliaksandr Valialkin
|
d70261286c
|
Added CopyTo, VisitAll and *Bytes* helper functions to Args, RequestHeader and ResponseHeader
|
2015-10-27 12:53:33 +02:00 |
|
Aliaksandr Valialkin
|
5642921b17
|
Small fix in docs
|
2015-10-26 17:52:28 +02:00 |
|
Aliaksandr Valialkin
|
77405b69f5
|
Round body buffer size to powers of 2
|
2015-10-26 15:40:30 +02:00 |
|
Aliaksandr Valialkin
|
658c8a1172
|
Added benchmarks for 1K concurrent clients
|
2015-10-26 15:18:52 +02:00 |
|
Aliaksandr Valialkin
|
a1fca0f209
|
Fixed connection leak on pending connections queue overflow
|
2015-10-26 15:15:58 +02:00 |
|
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 |
|