Commit Graph
167 Commits
Author SHA1 Message Date
Robert Allan Hennigan Leahy 27d070c724 is_invocable works with move-only types:
fix #652

Previously reported that function objects
taking move only types by value were not invocable.
2017-07-20 08:15:31 -07:00
Vinnie Falco 2ea3240ed6 Documentation tidying 2017-07-20 08:15:31 -07:00
Vinnie Falco 4b71aa67e0 Refactor chunked parsing (API Change):
* parser now has a callback feature for intercepting chunk headers
  and chunk bodies

* The names for basic_parser derived class callbacks have been
  refactored

* basic_parser offers an additional callback for distinguishing
  chunk body data.

Actions Required:

* Adjust signatures for required members of user-defined
  subclasses of basic_parser

* Use the new basic_parser chunk callbacks for accessing
  chunk extensions and chunk bodies.
2017-07-20 08:15:31 -07:00
Vinnie Falco 9ecd2a491e multi_buffer ctor is explicit 2017-07-20 08:15:31 -07:00
Vinnie Falco 78f3cd59a1 better is_final on empty_base_optimization 2017-07-20 08:15:31 -07:00
Vinnie Falco b18d0d15b0 Pass string_view by value 2017-07-20 08:15:31 -07:00
Vinnie Falco e9c44030e4 buffers_ref is Assignable 2017-07-20 08:15:31 -07:00
Vinnie Falco 42b81fb3a0 Remove unused file_path 2017-07-20 08:15:30 -07:00
Vinnie Falco 9bfb5374f1 Shrink buffer_prefix_view 2017-07-20 08:15:30 -07:00
Vinnie Falco b65f0abd50 Javadoc tidying 2017-07-20 08:15:30 -07:00
Vinnie Falco 93ae544f9c Tidy up file_posix unused variable 2017-07-20 08:15:30 -07:00
Vinnie Falco 83cef67fb4 Header file tidying 2017-07-20 08:15:30 -07:00
Vinnie Falco 37110f2d04 Add span_body 2017-07-20 08:15:30 -07:00
Vinnie Falco 80eb5af584 Add span 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 cc198db10e serializing file_body is not const 2017-07-20 08:15:30 -07:00
Vinnie Falco 0324dc371f Use Boost.Config 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 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 8ee911f632 Construct buffer_prefix_view in-place 2017-07-20 08:15:30 -07:00
Vinnie Falco eec5f1d8b6 Add file_posix 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 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
octopus-prime 0ab9975751 Fix BEAST_FALLTHROUGH in config 2017-07-20 08:15:29 -07:00
Vinnie Falco 58d42cc803 Use BEAST_FALLTHROUGH to silence warnings
fix #545
2017-07-20 08:15:29 -07:00
Vinnie Falco 2d6859831c Optimize field lookups 2017-07-20 08:15:29 -07:00
Vinnie Falco 64ff766b23 Use string_ref in older Boost versions
fix #543
2017-07-20 08:15:29 -07:00
Vinnie Falco 44824a4166 Use boost::string_view 2017-07-20 08:15:28 -07:00
Vinnie Falco f2e8af23f4 Fix costly potential value-init in parser 2017-07-20 08:15:28 -07:00
Vinnie Falco f0e32882e2 Make consuming_buffers smaller 2017-07-20 08:15:28 -07:00
Vinnie Falco 518ae23383 string_param optimizations 2017-07-20 08:15:28 -07:00
Vinnie Falco 8f4e7fd0a0 Fix unused variable warnings 2017-07-20 08:15:28 -07:00
Vinnie Falco 31b59f0b0f Fix narrowing in ostream 2017-07-20 08:15:28 -07:00
Vinnie Falco ef493d4489 Fix narrowing in static_ostream 2017-07-20 08:15:28 -07:00
Vinnie Falco b2ab40f09c Doc tidying
fix #521, fix #524
2017-07-20 08:15:28 -07:00
Vinnie Falco 6d489b4658 Simplify buffered_read_stream composed op
fix #358
2017-07-20 08:15:28 -07:00
Vinnie Falco 4d393f4c2a Clear the error faster 2017-07-20 08:15:27 -07:00
Vinnie Falco 8f627b0748 Fix shadowing warnings
fix #510
2017-07-20 08:15:27 -07:00
Vinnie Falco a26017d695 Use generic_cateogry for errno 2017-07-20 08:15:27 -07:00
Vinnie Falco cdff15e021 Remove Spirit dependency 2017-07-20 08:15:27 -07:00
Vinnie Falco b5306a5712 String comparisons are public interfaces 2017-07-20 08:15:26 -07:00
Vinnie Falco 321aa8527d Fix base64 alphabet
fix #500
2017-07-20 08:15:26 -07:00
Vinnie Falco 164569157a Update doc/ for docca 2017-07-20 08:15:26 -07:00
Vinnie Falco 82d76e4882 Convert buffer in range loops
fix #485
2017-07-20 08:12:20 -07:00
Vinnie Falco ca109693fb Reset error codes
fix #478
2017-07-20 08:12:20 -07:00
Vinnie Falco a49c096042 read_size replaces read_size_helper:
* detail::read_size_helper is removed

* public function read_size helps determine the optimum
  size for calls to a DynamicBuffer's prepare function.

* special case for Asio types which don't conform to
  the concept but have their own helper function.
2017-07-20 08:12:20 -07:00
Vinnie Falco fe4dfed27b Tidy up type_traits 2017-07-20 08:12:19 -07:00