Commit Graph
720 Commits
Author SHA1 Message Date
Vinnie Falco 222eca839a Set version to 77 2017-07-20 08:15:30 -07:00
Vinnie Falco eb4a4d41f0 file_posix works without large file support
fix #632
2017-07-20 08:15:30 -07:00
Vinnie Falco 8f43bcc197 Set version to 76 2017-07-20 08:15:30 -07:00
Vinnie Falco 152720efaf Disable SSE4.2 optimizations 2017-07-20 08:15:30 -07:00
Vinnie Falco a00ce1209b Fix parse illegal characters in obs-fold 2017-07-20 08:15:30 -07:00
Vinnie Falco f657057c49 Add file_body_win32:
basic_file_body is specialized for file_win32:

When serializing file bodies to stream sockets on Windows,
the native platform function ::TransmitFile is used, improving
performance.
2017-07-20 08:15:30 -07:00
Vinnie Falco cc198db10e serializing file_body is not const 2017-07-20 08:15:30 -07:00
Vinnie Falco e06a055503 BodyReader, BodyWriter use two-phase init (API Change):
These types now perform error-based initialization in
a separate init() functions instead of in the constructor.

Actions Required:

* Modify instances of user-defined BodyReader and BodyWriter
  types to perfrom two-phase initialization, as per the
  updated documented type requirements.
2017-07-20 08:15:30 -07:00
Vinnie Falco 8a3df73ffc Serializer members are not const 2017-07-20 08:15:30 -07:00
Vinnie Falco 83403570bd Rename to serializer::keep_alive (API Change):
The serializer member is renamed to keep_alive()

Actions Required:

* Use serializer::keep_alive instead of serializer::close and
  take the logical NOT of the return value.
2017-07-20 08:15:30 -07:00
Vinnie Falco a369f7d9ff Add serializer::chunked 2017-07-20 08:15:30 -07:00
Vinnie Falco c52ddea11d Add serializer::get 2017-07-20 08:15:30 -07:00
Vinnie Falco db59a92011 BodyReader may construct from a non-const message
fix #619
2017-07-20 08:15:30 -07:00
Vinnie Falco 0324dc371f Use Boost.Config 2017-07-20 08:15:30 -07:00
Vinnie Falco f65a611b85 Always go through write_some:
HTTP stream serialization algorithms always go
through write_some or async_write some.
2017-07-20 08:15:30 -07:00
Vinnie Falco ae7270463d Set version to 75 2017-07-20 08:15:30 -07:00
Vinnie Falco 5ed1c98037 Doc tidying 2017-07-20 08:15:30 -07:00
octopus-prime 288f363fa6 Using SSE4.2 intrinsics in basic_parser if available
fix #622
2017-07-20 08:15:30 -07:00
Vinnie Falco b1a8cf8a13 file_body tests 2017-07-20 08:15:30 -07:00
Vinnie Falco 731164bec2 Add serializer::limit 2017-07-20 08:15:30 -07:00
Vinnie Falco d750364d6f Shrink serializer buffers using buffers_ref 2017-07-20 08:15:30 -07:00
Vinnie Falco bb0e86ac01 Tidy up BEAST_NO_BIG_VARIANTS 2017-07-20 08:15:30 -07:00
Vinnie Falco 8ee911f632 Construct buffer_prefix_view in-place 2017-07-20 08:15:30 -07:00
Christopher Kohlhoff 8179019590 Use file_body for valid requests, string_body otherwise. 2017-07-20 08:15:30 -07:00
Vinnie Falco 783c52b025 Set version to 74 2017-07-20 08:15:30 -07:00
Andrzej Krzemieński d6bac17bff remove redundant flush() from example:
`<<std::endl` already flushes the stream; no need for a separate call.
2017-07-20 08:15:30 -07:00
Keith Bennett 1c9c87f93c Fix Beast include directories for cmake targets 2017-07-20 08:15:30 -07:00
Vinnie Falco eec5f1d8b6 Add file_posix 2017-07-20 08:15:30 -07:00
Vinnie Falco e81026614a Remove common/file_body.hpp 2017-07-20 08:15:30 -07:00
Vinnie Falco 8bf46ffa05 Add file_body 2017-07-20 08:15:30 -07:00
Vinnie Falco 7254cc8976 Add file_win32 2017-07-20 08:15:30 -07:00
Vinnie Falco ddc3099281 Add file_stdio and File concept 2017-07-20 08:15:30 -07:00
Vinnie Falco aff5f392e2 Set version to 73 2017-07-20 08:15:30 -07:00
Vinnie Falco 37461a1c4c Fixes for gcc-4.8 2017-07-20 08:15:30 -07:00
Vinnie Falco abdd89fde8 Initialize local variable in basic_parser 2017-07-20 08:15:30 -07:00
Vinnie Falco 48c0fcae50 Adjust benchmarks 2017-07-20 08:15:30 -07:00
Vinnie Falco c01dddc4ac Verify certificates in SSL clients 2017-07-20 08:15:30 -07:00
Vinnie Falco 4b9acaaa6d Jamroot tweak 2017-07-20 08:15:30 -07:00
Vinnie Falco 8e6fb759dd Documentation tidy 2017-07-20 08:15:29 -07:00
Vinnie Falco f5ae60613f serializer::next replaces serializer::get (API Change):
Actions Required:

* Use serializer::next instead of serializer::get at call sites
2017-07-20 08:15:29 -07:00
Vinnie Falco b0e52dd246 Refactor header and message constructors:
fix #581

* request and response headers now have convenience
  constructors so important fields like method, target,
  result, and version may be set upon construction.

Actions Required:

* Evaluate each message constructor call site and
  adjust the constructor argument list as needed.
2017-07-20 08:15:29 -07:00
Vinnie Falco 2ee088de5f Add basic_parser tests 2017-07-20 08:15:29 -07:00
Vinnie Falco e608acb791 basic_parser optimizations:
fix #185, fix #489

* SSE4.2 is detected

* basic_parser uses SSE4.2 if available

* basic_parser tries to parse on the initial buffer and if
  it does not find the end of header it shifts to a new
  strategy of waiting for the end of header to defeat
  slow loris attacks. This coincidentally is also faster
  than the previous algorithm.
2017-07-20 08:15:29 -07:00
Vinnie Falco c94821384d Set version to 72 2017-07-20 08:15:29 -07:00
chriskohlhoff 7e61a48607 Various improvements to http_server_fast.cpp:
fix #578

- Receive request in a single read
- Use fields_alloc for response
- Fix command line usage information
- Add command line option to spin the io_service
2017-07-20 08:15:29 -07:00
Vinnie Falco a281ca5384 Documentation tidying 2017-07-20 08:15:29 -07:00
Vinnie Falco 6b6c2e0f93 Add websocket-server-async example 2017-07-20 08:15:29 -07:00
Vinnie Falco c12ded9abc Add http-server-threaded example 2017-07-20 08:15:29 -07:00
Vinnie Falco 09df24ec62 Refactor file_body for best practices 2017-07-20 08:15:29 -07:00
Vinnie Falco 56948edd27 Newly constructed responses have a 200 OK result 2017-07-20 08:15:29 -07:00