293 Commits

Author SHA1 Message Date
19c38c308a Replace detail/work_guard.hpp with net::executor_work_guard
In newer versions of Asio, `executor_work_guard<>` can be used even when
`ASIO_NO_TS_EXECUTORS` is defined.
2025-04-27 16:08:05 +03:30
e0884660f4 Add examples of Unix domain sockets
Closes #2918
2025-02-28 16:38:36 +03:30
41c1abb402 Add SSL/TLS Certificate section to documentation
Closes #2910
2025-02-26 18:31:12 +03:30
ee2b5b2ff9 Replace SSL_set1_host with asio::ssl::host_name_verification
`SSL_set1_host` fails when host is an IP address
2025-02-13 20:09:44 +03:30
ea38d841b0 SSL examples verify peer cert hostname
Fixes #2974
2025-02-11 19:43:58 +03:30
e55670d0d0 Remove Boost.Scope dependency from examples 2024-11-26 16:51:00 +03:30
827ecf5e93 Organize source files in CMakeLists with source_group 2024-11-25 11:41:40 +03:30
75e45287fb Refactor CMakeLists
Closes #2471
Closes #1816
2024-11-25 11:41:40 +03:30
7ce0ebe47c Fix warnings in json_client example 2024-09-19 15:27:57 +03:30
3ddcf4ed38 Jamfile cleanup 2024-09-04 22:37:14 +03:30
a9121c259b boost_json links` statically 2024-09-01 12:40:33 +03:30
2bda7870fe Add support for modular build structure. (#2905)
* Use beast exclusive valgrind feature.

* Make the library modular usable.

* Switch to library requirements instead of source. As source puts extra source in install targets.

* Add Beast root dir for includes. As some tests refer to files relative to that.

* Replace relative docca refs with project based.

* Avoid mtuliple openssl configurations.

* Always declare openssl. If it's empty and duplicate it will be ignored.

* Add missing import-search for cconfig/predef checks.

* Add requires-b2 check to top-level build file.

* Bump B2 require to 5.2

* Update copyright dates.

* Move inter-lib dependencies to a project variable and into the build targets.

* Update build deps.

* Update build deps.

* The http/client/body example uses the source header from json instead of the linked library.
2024-09-01 11:26:02 +03:30
375b0b5ee8 server-flex-awaitable: connections get their own strand 2024-07-08 12:13:16 +03:30
ff5672ec07 awaitable examples are simplified
No need for `rebind_executor` as `asio::deferred` is now the default completion token.
2024-07-07 14:58:49 +03:30
03b792faac net::ssl::stream is canonical in examples
We no longer need to use beast::ssl_stream to improve write performance, as
Asio now linearizes scatter/gather I/O in ssl::stream:
17637a48cc
2024-05-31 16:45:52 +03:30
bd804b6520 ssl_stream does not use flat_stream
We no longer need to use flat_stream to improve write performance, as
Asio now linearizes scatter/gather I/O in ssl::stream:
17637a48cc
2024-05-31 16:45:52 +03:30
6dd3cf7ab1 std::bind is superfluous in some examples 2024-05-31 16:45:52 +03:30
9bf2184b33 Fix error handling in SSL shutdown operations in examples 2024-05-28 23:39:48 +03:30
dc154bc0bd Update host string after SSL_set_tlsext_host_name 2024-02-14 20:03:10 +03:30
5998feda44 Fix write loop in advanced server examples
Fixes #2739
2024-01-02 21:28:58 +03:30
b1779ced98 fix: unhandled connection closing in websocker_server_awaitable 2023-12-24 09:48:50 +03:30
f05413912e fix: unhandled connection closing in websocker_server_awaitable 2023-12-24 09:48:50 +03:30
ba25a117a7 server-flex-awaitable example resets parser.
Closes #2715.
2023-08-18 11:40:20 +08:00
fd18cfa242 Remove unused failure reporting code 2023-05-12 18:46:36 +08:00
0e5cf9ff79 awaitable-ssl example belongs to right directory
Closes #2654
2023-03-22 16:11:06 +08:00
2bd65b27e1 awaitable server close fix.
Closes #2637
2023-02-20 13:58:07 +08:00
99bceb5bff examples & tests use context instead of coroutine. 2023-02-02 23:27:49 +08:00
1841a592d6 Minimalistic method examples. 2023-02-02 15:05:11 +08:00
947b225c9e No unused function in awaitable examples. (#2605)
* No unused function in awaitable examples.
* Beast has an awaitable-ssl example.

Closes #2604.
2023-01-24 09:55:05 +08:00
bfd5e55093 advanced_server_flex_awaitable doesn't rely on transitive include. 2023-01-04 08:44:00 +08:00
6e1eb76b1d typo in the json client comment 2022-12-07 13:42:03 +08:00
09bfca1fa1 awaitable examples.
Closes #2104.
2022-10-30 00:13:54 +08:00
b0c49748a2 Support expect continue in upgrade.
Closes #264.
2022-10-13 09:26:08 +08:00
4f5ec46002 Exampe CMakeLists.txt is fixed. 2022-10-04 09:17:56 +08:00
12c2d14ebc streaming JSON body is an example 2022-10-03 09:53:05 +08:00
34c4647caf Correct common name of example server certificate 2022-06-21 20:39:25 -03:00
87ddb16151 Examples use http::message_generator 2022-05-21 22:12:13 -07:00
9201210d5e fields_alloc does not leak
fix #2431, close #2432
2022-05-21 18:15:33 -07:00
90e37ae40b return statement to exit reading loop
Merges PR#2414

I used this example to start building my WebSocket application, however, I noticed that upon removing the echoing in the on_read method, the server repeatedly throws errors without exiting the method.

You can recreate this problem by replacing the async_write with do_write and cause any error (i.e. client reloads the page).

Adding a return statement here would make debugging for future changes much easier and it wouldn't harm the existing echoing in any way.
2022-04-26 23:41:25 +02:00
b16005a456 Fix TLS SNI handling in websocket_client_async_ssl example:
Original commit message
fixed an error in websocket_client_async_ssl

close #2315

in this example host_ string should be updated after SSL_set_tlsext_host_name just like the synced version, otherwise this would cause a handshake error
2021-11-03 19:14:50 +01:00
2f4506dc37 Fix accept error handling in http_server_async example
close #2319
2021-11-03 18:39:42 +01:00
mxp
01cd68c9a4 Add example of reading large response body
closes #2240
2021-05-26 12:12:45 +02:00
b1da28625e Update example root certificates
fixes #2236
2021-05-22 16:46:23 +02:00
70bddce07f Fix warning in http-server-fast 2021-03-16 10:03:25 +01:00
fae4c0e3c2 Parenthesise all uses of min() and max() 2021-03-16 10:02:47 +01:00
b07edea9d7 Fix logic error in advance_server_flex
fixes #2063
	closes #2064
2020-08-28 13:26:22 +02:00
a35cd32005 Update WebSocket examples to set TLS SNI 2020-08-28 13:26:22 +02:00
2efb729c53 Fix compile errors under Clang 3.4
fixes #2030
closes #2031
2020-07-24 13:59:49 +02:00
4f913cab63 Fix portability bug in websocket server sync example
fixes #2032
closes #2034
2020-07-24 13:59:46 +02:00
f036077547 Fix race in http-crawl 2020-07-07 18:49:35 +02:00