Commit Graph

656 Commits

Author SHA1 Message Date
Damian Jarek
2cfe3ba1b8 Replace static_string in parser
close #1574

This change yields a modest performance improment of 1-2% by replacing
the exception-based handling of buffer overflow with one based on
regular conditional checks.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-15 08:21:48 -07:00
Damian Jarek
b7a8fb5178 Fix compilation on MSVC with std::string_view
close #1573

std::string_view::iterator is not necessarily a raw pointer.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-15 08:21:48 -07:00
Damian Jarek
8703038e37 launder pointers:
close #1570

`std::launder` must be used whenever placement-new of an unknown type
is performed and the result of the placement-new expression is discarded.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-15 08:21:48 -07:00
Vinnie Falco
0345aa194d Set version to 250 2019-04-11 12:18:10 -07:00
Mohamed El Housseine
ebe52537ea Set parser status and flags even if body_limit_ has been reached
close #1556
2019-04-08 17:14:46 -07:00
Damian Jarek
bc9f63f10d Cleanup endianness conversions:
close #1544

- Use Boost.Endian conversions functions.
- Remove existing private conversion functions.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-08 17:14:04 -07:00
Vinnie Falco
5e88637752 Set version to 249 2019-04-08 15:13:46 -07:00
Vinnie Falco
1de60a0462 Move friend function template definition 2019-04-08 15:13:12 -07:00
Vinnie Falco
b701d72ddb Set version to 248 2019-04-06 13:24:56 -07:00
Simon Ebner
7e78863074 Don't use a moved-from handler:
close #1560

* Obtain the executor from the handler prior
  to transferring ownership.
2019-04-06 13:23:12 -07:00
Vinnie Falco
ea40d0262a Set version to 247 2019-04-05 05:09:09 -07:00
Damian Jarek
ce986118f8 Fix async_base immediate completion
`complete(false, ...)` used the wrong executor when an async operation
completed immediately, potentially executing the completion handler on
the IO executor in some cases.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-05 05:08:31 -07:00
Vinnie Falco
50d5b965dd Set version to 246 2019-04-03 11:16:52 -07:00
Vinnie Falco
90d7434847 decorator ctor is explicit 2019-04-03 11:16:38 -07:00
Vinnie Falco
15256f5ea7 Set version to 245 2019-04-02 16:49:09 -07:00
Vinnie Falco
7c084509d6 decorator constructor is constrained 2019-04-02 16:49:05 -07:00
Vinnie Falco
a4974e18ba Set version to 244 2019-04-02 05:28:13 -07:00
Vinnie Falco
8ec1a4d90f Fix websocket keep-alive ping expiration 2019-04-01 18:14:25 -07:00
Vinnie Falco
27c572fbfa Tidy up declval in some traits 2019-04-01 17:35:44 -07:00
Vinnie Falco
d8bc714030 Set version to 243 2019-03-30 14:15:02 -07:00
Denis Glazachev
058294e908 Fix http::message constructor constraint 2019-03-30 14:14:59 -07:00
Vinnie Falco
4f464ccaeb Tidy up file_stdio for VS2015 2019-03-30 14:14:59 -07:00
Denis Glazachev
24ccdd243a Fix some typos 2019-03-30 11:12:04 -07:00
Vinnie Falco
658e678673 Set version to 242 2019-03-29 20:42:44 -07:00
Vinnie Falco
4e90183bda Check defined(BOOST_MSVC) 2019-03-29 20:42:44 -07:00
Vinnie Falco
a7faf03694 Fix http::message constructor constraint 2019-03-29 20:42:44 -07:00
Vinnie Falco
965c21615a MSVC uses ::fopen_s 2019-03-29 20:42:44 -07:00
Vinnie Falco
3c82717fed test::stream has deprecated lowest_layer for ssl 2019-03-29 17:31:18 -07:00
Vinnie Falco
b39a297b41 Set version to 241 2019-03-29 15:05:38 -07:00
Vinnie Falco
51db4d491a basic_parser::content_length is stable (API Change):
fix #1375

* The value returned from `basic_parser::content_length`
  no longer changes as the body of the message is received.

Actions Required:

* Call `basic_parser::content_length_remaining` instead
  of `basic_parser::content_length`.
2019-03-29 15:05:30 -07:00
Vinnie Falco
5154233350 Set version 240 2019-03-27 09:13:53 -07:00
Vinnie Falco
ed9d861545 Fix ssl_stream teardown 2019-03-27 09:13:32 -07:00
Vinnie Falco
2c141cd4ad Set version to 239 2019-03-24 11:05:28 -07:00
Damian Jarek
5a0b4d7ebe More split compilation in HTTP
close #1541

- Remove unused private functions: `skip_ows_rev`, `skip_obs_fold`.
- Enable split compilation in `http/detail/rfc7230.hpp`.
- More split compilation in `basic_parser`.
- Remove some unnecessary includes.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-24 11:05:24 -07:00
Vinnie Falco
b95bd46b49 Set version to 238 2019-03-24 09:18:06 -07:00
Vinnie Falco
61fcd9ef6f Refactor Jamfiles to work with release layout 2019-03-24 09:18:02 -07:00
Vinnie Falco
4e82719640 Set version to 237 2019-03-23 17:50:49 -07:00
Vinnie Falco
b01d692ad7 Set version to 236 2019-03-22 10:09:32 -07:00
Vinnie Falco
f5d08d7b2c Set version to 235 2019-03-21 17:23:49 +01:00
Vinnie Falco
1f18b2712c Set version to 234 2019-03-19 12:31:39 -07:00
Vinnie Falco
0c3ca62590 Set version to 233 2019-03-14 12:13:18 -07:00
Damian Jarek
8869ec5681 Use secure TLS/SSL versions:
TLS1.2 can be used instead, it is available in all currently
supported versions of OpenSSL.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-14 09:56:50 -07:00
Gregor Jasny
0033b7c1e4 Android: Use compiler pre-defined __ANDROID__
The ANDROID define us usually originationg from he build system
(like CMake, ndk-build, etc.). But some buildsystems like Bazel
do not set it which brakes Android platform detection.

Better use __ANDROID__ (like boost predef does) which is
predefined by the compiler if targeting Android.
2019-03-14 09:55:22 -07:00
Vinnie Falco
fdfd666e23 Set version to 232 2019-03-13 06:48:44 -07:00
Vinnie Falco
fdc83c981b Fix basic_stream lowest_layer for ssl 2019-03-12 18:58:24 -07:00
Vinnie Falco
b7c3c1eb1a Fix file_win32_write_op async initiation 2019-03-12 18:07:19 -07:00
Vinnie Falco
554701845c Fix close_socket for net::basic_socket changes 2019-03-12 16:20:36 -07:00
Vinnie Falco
3c878479d0 Set version to 231 2019-03-12 13:44:51 -07:00
Vinnie Falco
cfbdce3e5c Constrain to_static_string to integers 2019-03-12 13:44:48 -07:00
Vinnie Falco
30d1972aa2 Add missing include 2019-03-11 13:24:20 -07:00