Commit Graph

82 Commits

Author SHA1 Message Date
Aliaksandr Valialkin 954a0615dc Fixed a typo in RequestCtx.SetConnectionClose() 2015-11-19 11:51:04 +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 548333e1c4 Added Write() function to RequestCtx for populating response body 2015-11-18 14:20:39 +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 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 800fe1306b Server microoptimization: check response's 'connection: close' first 2015-11-17 11:38:25 +02:00
Aliaksandr Valialkin 0e2c4013f7 Added ID accessor to RequestCtx 2015-11-17 09:47:17 +02:00
Aliaksandr Valialkin 89263fc064 Added Time accessor to RequestCtx 2015-11-17 09:45:41 +02:00
Aliaksandr Valialkin bf4ed1ad76 typo fix 2015-11-16 19:32:21 +02:00
Aliaksandr Valialkin 265b6163f7 Added StatusCode and content-type accessors to RequestCtx 2015-11-16 19:31:50 +02:00
Aliaksandr Valialkin 2dbf142a06 convert connectionClose to accessor 2015-11-16 18:23:08 +02:00
Aliaksandr Valialkin 35bf5aa661 Access ResponseHeader.server via Server accessor 2015-11-16 16:13:57 +02:00
Aliaksandr Valialkin 230a396384 Hide URI.QueryArgs behind accessor, which automatically parses query args 2015-11-15 23:51:13 +02:00
Aliaksandr Valialkin f1f78f0828 Hide Request.URI and Request.PostArgs behind accessors, which automatically call parse URI and PostArgs on first access 2015-11-15 23:47:22 +02:00
Aliaksandr Valialkin 1c19e5f2c1 do not trim big body buffers - they should be handled by GC 2015-11-14 21:13:04 +02:00
Aliaksandr Valialkin c01be3ee99 Panic if net.Listener returns (nil, nil) 2015-11-14 20:09:15 +02:00
Aliaksandr Valialkin 88e41d9b08 Removed accessors converting []byte to string, i.e. allocating memory. This should reduce memory usage for apps using fasthttp, since now they shoud either use []byte or do string() conversion on their own :) 2015-11-14 18:25:00 +02:00
Aliaksandr Valialkin 2e78d83bf7 Hide Request.RequestURI behind accessors in order to prevent users shooting in the foot when assigning to Request.RequestURI directly 2015-11-14 17:58:58 +02:00
Aliaksandr Valialkin 1f81c87c38 Substituted direct access to Request.Method by accessors, so package users don't shoot in the foot when assigning directly to Request.Method 2015-11-14 17:34:12 +02:00
Aliaksandr Valialkin 5eb991ed31 Added Concurrency parameter to Server 2015-11-14 14:54:45 +02:00
Aliaksandr Valialkin be5a9ddeaf Added helper functions to RequestCtx 2015-11-13 19:32:33 +02:00
Aliaksandr Valialkin 1bbce02863 Added IsGet(), IsPost() and IsHead() helpers to RequestCtx 2015-11-13 16:10:22 +02:00
Aliaksandr Valialkin fd177d7f63 Added global Serve* helpers 2015-11-13 15:08:22 +02:00
Aliaksandr Valialkin efbdc8fa7f Added ListenAndServe and ListenAndServeTLS helper functions to Server 2015-11-12 23:21:46 +02:00
Aliaksandr Valialkin 3f0794bcd1 Added RequestCtx.LocalAddr() for determining server address for the current connection 2015-11-12 21:50:44 +02:00
Aliaksandr Valialkin aba783b596 Return nil from Server.Serve*() on expected errors such as io.EOF aond errConnClosing 2015-11-12 20:07:21 +02:00
Aliaksandr Valialkin 33c0dd1fe2 Do not log 'use of closed network connection' error when closing listener in Server.Serve* 2015-11-12 19:53:17 +02:00
Aliaksandr Valialkin 6bd9b01126 Added support for 'connection: close' request header 2015-11-12 18:54:15 +02:00
Aliaksandr Valialkin 6e4b32182e Fixed panic when WorkerFunc returns error and Conn is closed 2015-11-12 14:01:04 +02:00
Aliaksandr Valialkin a4e8e226ff Removed dubious loop for obtaining free worker - just increase the number of workers if 'no free workers' error occur 2015-11-11 16:39:59 +02:00
Aliaksandr Valialkin 69758b81d6 Accept net.Conn instead of io.ReadWriteCloser in Serve*() methods, since in reality we use net.Conn methods such as RemoteAddr, SetReadDeadline and SetWriteDeadline 2015-11-11 16:17:12 +02:00
Aliaksandr Valialkin ae6a7cc17c Extracted workerPool from server.go into workerpool.go 2015-11-11 15:27:27 +02:00
Aliaksandr Valialkin 89e1feae77 Reference TimeoutHandler in RequestHandler docs 2015-11-11 11:42:17 +02:00
Aliaksandr Valialkin 0d0e179d7b Added RequestCtx.SetResponseBody helper function 2015-11-11 11:09:31 +02:00
Aliaksandr Valialkin ad3452a2e5 Removed dubious Cache from RequestCtx - use sync.Pool instead 2015-11-11 10:47:16 +02:00
Aliaksandr Valialkin b6adf1cd39 Clean least recently used workers in a separate goroutine. This cleans stale workers even on idle server 2015-11-10 17:59:19 +02:00
Aliaksandr Valialkin fa05bcd728 Server worker pool optimization - now incoming connections are served by workers in 'most recently used worker' order. This should keep CPU caches hot 2015-11-10 15:24:36 +02:00
Aliaksandr Valialkin 8081e14ca0 Use perIPConn pool 2015-11-10 15:20:13 +02:00
Aliaksandr Valialkin e7b70f2c8a Fixed doc typos 2015-11-10 12:46:36 +02:00
Aliaksandr Valialkin a0ee798bbe Added RequestCtx.Init() helper for custom Server implementations 2015-11-09 18:41:27 +02:00
Aliaksandr Valialkin 04b68cd1f5 Export DefaultConcurrency 2015-11-09 17:10:27 +02:00
Aliaksandr Valialkin 827b8b1e82 Added TimeoutErrMsg() function to RequestCtx for determining the last error message set via TimeoutError call 2015-11-09 17:06:50 +02:00
Aliaksandr Valialkin 3aa2987131 Substituted RequestCtx.shadow with more clear timeoutErrMsg 2015-11-09 11:03:50 +02:00