Commit Graph

81 Commits

Author SHA1 Message Date
Aliaksandr Valialkin edcfdbcec9 Issue #14: added support for response body compression 2015-12-25 12:26:34 +02:00
Aliaksandr Valialkin 80105c1a85 Added RequestCtx.WriteString 2015-12-24 20:48:05 +02:00
Aliaksandr Valialkin 5ff6be8fee Substitute AppendBytesStr by append() 2015-12-19 20:38:10 +02:00
Aliaksandr Valialkin 34c825a772 Set response content-length before writing response header 2015-12-10 08:43:49 +02:00
Aliaksandr Valialkin 9c18f79145 Added support for If-Modified-Since to SendFile and FS 2015-12-09 18:51:51 +02:00
Aliaksandr Valialkin 1a06baebe3 Refer to SetBodyStreamWriter from SetBodyStream docs 2015-12-09 16:34:50 +02:00
Aliaksandr Valialkin 52999aff94 Added SetBodyStreamWriter for streaming response body 2015-12-09 16:33:07 +02:00
Aliaksandr Valialkin 6ad39dad61 Added SendFile to Response 2015-12-09 13:47:11 +02:00
Aliaksandr Valialkin bc50b11813 Added AppendBody and SetBodyString helper methods to Request and Response 2015-12-09 13:43:06 +02:00
Aliaksandr Valialkin ff63733774 Removed LimitedReader wrapper in writeBodyFixedSize, since it prevents sendfile triggering for FSHandler 2015-12-08 11:50:04 +02:00
Aliaksandr Valialkin 1e4e9fe9e6 Trigger sendfile for response body stream wrapped into io.LimitedReader 2015-12-08 11:30:01 +02:00
Aliaksandr Valialkin b6c230a0fb Moved the hack for triggering sendfile in bufio.ReadFrom from FSHandler to Response.Write, so all response body streams may benefit from sendfile optimization 2015-12-08 10:47:50 +02:00
Aliaksandr Valialkin 5c8ab236b8 typo fix 2015-12-08 10:45:16 +02:00
Aliaksandr Valialkin 3072afc5e7 Returned back io.LimitedReader wrapper for writing response body streams 2015-12-08 10:44:20 +02:00
Aliaksandr Valialkin c1f7d2b1f0 Properly close response body stream 2015-12-08 10:27:37 +02:00
Aliaksandr Valialkin 778f4a1054 An attempt to trigger sendfile path in FSHandler when sending big files 2015-12-07 12:06:39 +02:00
Aliaksandr Valialkin ad0de104c0 Use New() function in copyBufPool 2015-12-07 09:33:08 +02:00
Aliaksandr Valialkin 9441c5f5e3 Do not wrap reader into io.LimitedReader in writeBodyFixedSize - if the reader will return more than the expected bytes, then the error will be returned. This allows io.CopyBuffer() exploiting io.WriterTo interface on the reader, which may result in improved speed for optimized readers 2015-12-07 09:10:48 +02:00
Aliaksandr Valialkin a7e597579f Revert "FSHandler optimization: added WriteTo to fsFileReader. This should speed up io.Copy() from fsFileReader"
This reverts commit 0979f22779.
2015-12-06 20:46:20 +02:00
Aliaksandr Valialkin 0e8987247d Revert "Properly implement fsFileReader.WriteTo for file handlers"
This reverts commit 66029e50a6.
2015-12-06 20:46:18 +02:00
Aliaksandr Valialkin 66029e50a6 Properly implement fsFileReader.WriteTo for file handlers 2015-12-06 20:42:43 +02:00
Aliaksandr Valialkin 0979f22779 FSHandler optimization: added WriteTo to fsFileReader. This should speed up io.Copy() from fsFileReader 2015-12-06 20:20:46 +02:00
Aliaksandr Valialkin 4ac44f0c6c Mention which structs are safe for use from concurrently running goroutines (Server, Client and HostClient) and which structs are unsafe to use from concurrently running goroutines - all the other 2015-12-03 13:38:59 +02:00
Aliaksandr Valialkin fe212fe380 Issue #6: Add support for PATCH method and other methods which may contain body 2015-12-02 20:17:50 +02:00
Aliaksandr Valialkin 534693af18 Clear response body when setting body stream 2015-12-02 12:15:49 +02:00
Aliaksandr Valialkin 158fcfbb7f Reset bodyStream when SetBody or ResetBody is called 2015-12-02 08:40:50 +02:00
Aliaksandr Valialkin 1ddca5dc04 Added ResetBody 2015-12-02 08:36:31 +02:00
Aliaksandr Valialkin 4cf82252e3 Added ability to filter out non-GET requests 2015-11-29 12:49:01 +02:00
Aliaksandr Valialkin b5277095ae Clear Response.SkipBody in Reset 2015-11-29 12:29:29 +02:00
Aliaksandr Valialkin fb07cbbd31 Signify that Request and Response from RequestCtx and Header from Request and Response mustn't be copied by value 2015-11-29 12:18:33 +02:00
Aliaksandr Valialkin 1e26cafa01 Properly copy Request.uri and Request.postArgs 2015-11-29 12:11:12 +02:00
Aliaksandr Valialkin 6a340b7334 Added request PUT method support 2015-11-29 11:32:44 +02:00
Aliaksandr Valialkin d7ecf59c5d Added Request.RemoveMultipartFormFiles for removing temporary files created during reading multipart/form-data request 2015-11-28 10:32:55 +02:00
Aliaksandr Valialkin cc79b27b51 Imporoved multipart/form-data support.
* The server automatically deletes temporary uploaded files after returning
  from RequestHandler.
* Multipart data is automatically streamed into temporary files on request
  reading. This limits memory usage for big file uploads.
2015-11-28 10:18:03 +02:00
Aliaksandr Valialkin 02a86866ef Increased maximum in-memory file size from 1MB to 16MB 2015-11-27 16:24:52 +02:00
Aliaksandr Valialkin 01031f43e2 Added support form multipart/form-data POST requests 2015-11-27 16:23:02 +02:00
Aliaksandr Valialkin df6fda8c33 Added ability to limit request body size on the server and response body size on the client 2015-11-27 13:22:15 +02:00
Aliaksandr Valialkin 295e2bcd15 Return error message instead of http request/response representation on error in Request.String and Response.String 2015-11-23 12:23:44 +02:00
Aliaksandr Valialkin c9abc7ac4c Added String method to Request and Response 2015-11-22 16:47:27 +02:00
Aliaksandr Valialkin a862d8592a Documentation update 2015-11-22 06:33:58 +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 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 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 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