247 Commits

Author SHA1 Message Date
alandefreitas
e0e5cbd8f9 Fix doc include file
fix #2448
2022-06-22 15:08:00 -03:00
alandefreitas
eaa51201bd Fix broken links
fix #2333
2022-06-22 15:07:30 -03:00
Glen Fernandes
24275ac0c6 Use static_string from Boost.StaticString 2022-04-17 12:30:52 -04:00
Richard Hodges
b5a94db2a5 WebSocket handshake response is deterministic on failure:
Add test for websocket handshake failure HTTP response

fix #2364
close #2365
2021-12-22 12:00:17 +01:00
Hreniuc Cristian-Alexandru
91c0df61d0 Fix reuse of sliding window in WebSocket permessage_deflate:
Original commit message:
Use zlib::Flush::sync instead of zlib::Flush::full, for stream compression

https://github.com/boostorg/beast/issues/2313

fixes #2313
closes #2318
2021-11-03 18:46:53 +01:00
dmorilha-twilio
8283a7df3f Fix case where inflated content is larger than out buffer
closes #2191
2021-03-25 14:47:10 +01:00
KnoerleMan
fc673aa09b Fix compiler warning in WebSocket async shutdown:
Credit: https://github.com/KnoerleMan

closes 2174
2021-03-01 19:50:29 +01:00
Christopher Kohlhoff
760b875c3b Limit the number of net::async_write instantiations by using a common buffer sequence type
closes #2169
2021-03-01 19:50:29 +01:00
Richard Hodges
ccd0f8822a Websocket SSL teardown also tears down underlying TCP
fixes #2023
2020-08-28 13:26:22 +02:00
Richard Hodges
bc1fc65d7e Add handler tracking locations to websocket 2020-08-28 13:26:22 +02:00
Richard Hodges
8c21c80f43 Add handler tracking locations to tcp teardown 2020-08-28 13:26:21 +02:00
Richard Hodges
2f6bf76cb4 Eliminate spurious uninitialised variable warning in detect_ssl 2020-08-28 13:26:21 +02:00
Richard Hodges
719f1a5505 Fix websocket stream when using net.ts executor type 2020-07-04 07:35:19 +02:00
Richard Hodges
060f59685c Support BOOST_ASIO_NO_TS_EXECUTORS 2020-07-04 07:35:14 +02:00
Christopher Kohlhoff
06a0b18b1d Use strand<> rather than legacy executor io_context::strand 2020-07-04 07:34:45 +02:00
Richard Hodges
840cc8f9d6 Remove websocket::role_type (API Change):
websocket::role_type has been removed. Users should use beast::role_type instead.

refs #1934
2020-06-01 20:07:29 +02:00
Richard Hodges
24d0b1f7bd Remove accept_ex and handshake_ex (API Change):
API Changes:

* The following deprecated functions have been removed:
  - websocket::async_accept_ex
  - websocket::async_handshake_ex
  - websocket::accept_ex
  - websocket::handshake_ex

Programs still using these names should be refactored to use the `decorator` feature and
the remaining handshake and accept functions.

refs #1934
2020-06-01 18:52:39 +02:00
Richard Hodges
27ce598bad No automatic User-Agent in WebSocket
fixes #1935
2020-05-04 18:47:06 +02:00
Richard Hodges
0cc3acdb83 Fix assert in websocket
fixes #1931
2020-05-04 10:58:26 +02:00
Richard Hodges
638e2d1244 Fix compilation errors with msvc /std:c++latest
fixes #1916
fixes #1925
2020-05-01 07:08:31 +02:00
Richard Hodges
c08e636711 Refactor websocket read:
Some readability improvements

ref #1618
2020-03-17 16:02:32 +01:00
Vinnie Falco
54ea61fd42 Use docca master branch 2019-12-17 11:11:53 -08:00
Vinnie Falco
b7a54c0a64 Use superproject docca 2019-12-07 14:18:38 -08:00
Cristian Morales Vega
26a156e300 Fix async_close error code when async_read times out
close #1754
2019-11-02 08:26:23 -07:00
Vinnie Falco
32bbd38387 Support Concepts for completion token params 2019-10-31 06:47:22 -07:00
Vinnie Falco
9f468ec1c1 Use automatically deduced return types for all async operations:
C++14 or later is required to support completion tokens that use
per-operation return type deduction. For C++11, a completion
token's async_result specialisation must still provide the nested
typedef `return_type`.
2019-10-31 06:47:22 -07:00
Vinnie Falco
7cc8759261 Async init-fns use the executor's default token 2019-10-31 05:47:05 -07:00
Vinnie Falco
bafce23853 Squelch spurious websocket timer assert 2019-10-09 12:00:22 -07:00
Vinnie Falco
9f77867f0a Fix outgoing websocket message compression
fix #1666
2019-07-29 10:35:41 -07:00
Damian Jarek
5f0939e771 Simplify websocket::detail::prng:
- Use a regular function pointer for dynamic dispatch.
- Remove `prng::ref` - it did not benefit the default case
  (TLS avaialable) and actually made the no-TLS case slower, because
  the time spent in the generator is dominated by mutex locking.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-07-01 12:49:01 -07:00
Damian Jarek
a7e932b13c Remove redundant includes in websocket
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-07-01 19:43:43 +02:00
Damian Jarek
fea681b459 Deduplicate websocket::read_size_hint definition
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-25 04:21:52 +02:00
Damian Jarek
1635df0e11 Simplify generation of sec-websocket-key
The result of `g()` is a random number, therefore it's not necessary
to care about endianness in this case.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-24 11:07:41 -07:00
Damian Jarek
b8b04f8f39 Cleanup transitive includes in beast/core/detail/type_traits.hpp
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-24 11:07:41 -07:00
Damian Jarek
153408eb5b More split compilation in websocket/detail/mask.hpp
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-23 16:58:15 +02:00
Damian Jarek
1a720c8354 Qualify calls to beast::iequals in basic_parser.ipp
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-23 16:58:15 +02:00
Damian Jarek
f10dc38ae6 Replace uses of net::coroutine with asio::coroutine
`asio::coroutine` is an extension, which is not part of
the Networking TS, so the `net` alias is not appropriate in this case.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:35 +02:00
Damian Jarek
a0d5baf22a Improve performance of http::string_to_verb
`operator==` performs better than the hand-written comparison routine.

fix #1636

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:35 +02:00
Damian Jarek
a7ff1a41e7 Remove redundant instation of static_string in websocket
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:33 +02:00
Damian Jarek
d52b4e4bd3 Fix clang inititalization warning in websocket
Clang suggests using double braces when initializing a single subobject
of an aggregate.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-31 02:04:36 +02:00
Damian Jarek
dcf3db7f83 Remove redundant use of static_string
This avoids an instantiation and copy of the data when adding the Server
header field.

Close #1613

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-19 22:32:43 +02:00
Vinnie Falco
77f3bb0764 Fix moved-from executor in idle ping timeout
fix #1599
2019-05-04 18:47:44 -07:00
Damian Jarek
dbadb79a75 Silence gcc-8 warning:
The warning was caused by a false positive triggered by boost::optional.
Reference:
https://github.com/boostorg/optional/issues/72

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-04 17:30:25 +02:00
Vinnie Falco
e53ccf251c Fix min/max on MSVC
fix #1578
2019-04-19 11:36:00 -07:00
Vinnie Falco
0a334d96d1 member get_executor const-correctness
fix #1559
2019-04-19 11:18:55 -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
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
90d7434847 decorator ctor is explicit 2019-04-03 11:16:38 -07:00
Vinnie Falco
7c084509d6 decorator constructor is constrained 2019-04-02 16:49:05 -07:00
Vinnie Falco
8ec1a4d90f Fix websocket keep-alive ping expiration 2019-04-01 18:14:25 -07:00