Commit Graph
259 Commits
Author SHA1 Message Date
Klemens Morgenstern aef9c88c9d error categories use numeric id 2023-01-23 17:48:28 +08:00
Klemens 334b9871be Fixed timer usage inside basic_stream.
Closes #2602.
2022-12-24 09:40:08 +08:00
Klemens Morgenstern 48f82ac817 Switched self-posting to the io-object's executor.
This is a conceptual change in the recent asio version that is reflected in any_completion_handler.
2022-12-20 14:45:26 +08:00
Mojca Miklavec b49d4e5d9c Avoid warnings about unused variable 2022-12-07 13:41:42 +08:00
Klemens Morgenstern 1fc340713c beast support default completion & rebind.
buffers_generator uses default_completion.
websocket::stream has a rebinding constructor.
ssl_stream has a rebind_executor member.
basic_stream has rebinding constructor.
2022-10-30 00:13:54 +08:00
Klemens 3ebff60b1a beast support per-op cancellation
- websocket supports cancellation.
 - Iterating test for ws cancellation.
 - Only terminal cancellation is forwarded by default.
 - basic_stream supports cancellation.
 - supported cancellation is documented.
 - http cancellation additions.
 - Added cancellation_slot tests to http, utils and saved_handler.
 - Added post to write.cpp, to avoid SIGSEV in test.
 - Refresher describes cancellation in more detail.
2022-10-27 22:56:19 +08:00
Klemens Morgenstern f4d1936bb2 error_codes use source_location. 2022-10-26 00:06:01 +08:00
Klemens Morgenstern b0c49748a2 Support expect continue in upgrade.
Closes #264.
2022-10-13 09:26:08 +08:00
alandefreitas bd69638e9d per-message compression options
fix #226, #227
2022-10-03 09:25:31 +08:00
alandefreitas fbcc16301d Fix API reference 2022-10-02 22:34:36 +08:00
alandefreitas 5ccb33b71c Websocket timeout option APIs
fix #2449
2022-10-02 20:05:56 +08:00
Richard Hodges d86a61f458 Remove incorrect ASSERT in websocket read
fix #2264
2022-09-01 15:46:12 +02:00
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