Commit Graph
278 Commits
Author SHA1 Message Date
Saleh Hatefinya 21545dbcaf Make permessage-deflate status queryable in websocket::stream 2024-09-01 17:51:11 +03:30
Mohammad Nejati 848e20680f Fix cancellation in teardown_tcp_op 2024-08-06 15:42:40 +03:30
Mohammad Nejati 5f5507f647 Initiating functions no longer perform mutating operations
Using `asio::deferred` as a completion token defers the initiation of
operations and creates a lazy operation which might even be discarded.
We need to move mutating operations to the initiator function objects or
the constructor of operation objects, which are guaranteed to run when
the deferred operation is launched.
2024-08-06 15:42:40 +03:30
Mohammad Nejati aabd5b51d3 net::prepend is replaced with net::append 2024-07-07 14:58:49 +03:30
Mohammad Nejati dadd1bc785 fix narrowing conversion in read_size_hint_db() 2024-07-07 14:58:49 +03:30
Mohammad Nejati 75812db90a get_executor() works on initiation objects
This is required for the new `asio::cancel_at` and `asio::cancel_after`
completion token adapters to work.
2024-07-04 19:49:41 +03:30
Christopher Kohlhoff 1a2b85b7a4 Fix overloads that are ambiguous when using default completion tokens 2024-06-27 16:33:10 +03:30
Mohammad Nejati 74d28c030d Partial writes don't cause bytes_transferred underflow
Fixes #2880
2024-06-06 17:58:25 +03:30
Mohammad Nejati 767397e0c1 read_size_hint does not exceed read_message_max
Fixes #2879
2024-06-06 00:49:08 +03:30
Mohammad Nejati 40c22cbfa7 Update documentation for websocket::permessage_deflate
Resolves #962
2024-02-14 11:09:41 +03:30
Mohammad Nejati 5f088b72ca Clarify teardown and async_teardown are customization points
Addresses #2479
2024-01-26 12:56:35 +03:30
Mohammad Nejati ea424f1da6 Fix the issue of paragraph separation in the documentation
Fixes #2792
2024-01-11 13:11:41 +03:30
Mohammad Nejati 9e16754dd5 Add non-allocating overload for error category message function
Fixes #2646
2024-01-03 18:21:52 +03:30
Mohammad 0d1e2d64f8 Replace beast::bind_front_handler uses with asio::prepend 2023-12-30 08:47:32 +03:30
Mohammad a7927988ea Update documentation for websocket::stream::async_write_some
Closes #2755
2023-10-26 08:56:59 +03:30
Klemens Morgenstern dd875463ff immediate_executor is supported. (#2672) 2023-10-13 05:33:23 -03:00
Klemens Morgenstern 2952b670d8 Handler requirements of ping/pong are correct.
Closes #2713
2023-08-18 18:45:39 +08:00
Ed CatmurandEd Catmur a23e24ffee Reimplement (C++23) deprecated std::aligned_storage (#2680)
Use boost::aligned_storage instead of std::.

The latter is deprecated in C++23.

---------

Co-authored-by: Ed Catmur <edward.catmur@mavensecurities.com>
2023-05-15 09:03:10 +08:00
Michiel De Witte a4718ee87b change upgrade to Upgrade as connection header value 2023-05-12 18:46:55 +08:00
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