Commit graph

220 commits

Author SHA1 Message Date
eidheim
3e87ac5faf Renmaed read_write_strand to write_strand 2022-11-09 13:31:58 +01:00
eidheim
eca0e1d622 Wrapped async_write calls in a strand since these calls might not be safe to call outside of the context runners if tls is used 2022-11-09 10:51:14 +01:00
Andrei Gheorghe
09303d5b94 Updated the write_header method to not write Content-Length: 0 for SSE resppnses.
There was a possible work-around - add the Transfer-Encoding: "chunked" header - but this is not correct as SSE and chunked are two different things.
2022-09-19 14:57:28 +00:00
eidheim
c52ebc2e60 Renamed DEPRECATED to SW_DEPRECATED to avoid name conflicts 2022-05-31 15:12:14 +02:00
Vitalii Trubchaninov
0087f7082e Don't access this before alive check 2021-11-09 01:57:06 -05:00
eidheim
cc0dc20947 Corrected documentation of Server<HTTPS> constructor 2021-02-17 08:59:25 +01:00
eidheim
5d65a5d89b Fixes another compilation issue: make_steady_timer now returns std::unique_ptr 2020-08-26 11:43:28 +02:00
eidheim
4c57860d7e Fixed compilation issue with standalone Asio: https://gitlab.com/eidheim/Simple-WebSocket-Server/-/issues/151 2020-08-26 11:18:12 +02:00
Michael Maroszek
8e82428740 expose local endpoint 2020-07-28 11:36:54 +02:00
eidheim
4ec478883e Applied style format 2020-06-28 08:22:49 +02:00
Robert Doebbelin
69d6a42089 Fall back to IPv4 if IPv6 is not supported 2020-06-26 15:28:22 +02:00
eidheim
eff3b76aa5 Related to #298: fixed chunk transfer read when only end of chunk remains unread 2020-05-13 13:32:59 +02:00
eidheim
9cdfe80ce6 Corrected boost::asio::streambuf to asio::streambuf 2020-05-13 10:38:03 +02:00
eidheim
a20a729a40 Fixes #298: corrected removal of chunk end when receiving larger chunks 2020-05-13 10:28:27 +02:00
eidheim
d49072a4f1 Fixes #298: corrected chunked transfer read where first bytes in a chunk could be erroneously removed 2020-05-12 15:54:56 +02:00
eidheim
ebeafc989e Fixes #293: added workaround for MSVC max bug 2020-04-03 11:10:40 +02:00
eidheim
1bc0b9a779 Minor fix of streambuf size check in chunked transfer 2020-02-04 11:06:20 +01:00
eidheim
84455ac966 Cleanup of timeout handling: timeouts are no longer reset on partial reads and sends 2020-02-04 10:01:49 +01:00
eidheim
d96ed6f02c Cleanup of content max_size checks 2020-02-04 09:09:12 +01:00
eidheim
3be67623fa Client: async request handlers are now called multiple times if response content is larger than Config::max_response_streambuf_size. Also improved streambuf to streambuf copy, and streambuf to string copy. Finally, string() functions no longer consume streambuf. 2020-02-01 17:11:09 +01:00
eidheim
5544612a19 Cleanup of chunked transfer: now writes directly to request/response streambuf 2020-01-14 12:44:26 +01:00
eidheim
f59906cc90 Removed pop_back that could lead to undefined behaviour 2020-01-14 09:46:12 +01:00
eidheim
624d088b61 Server: added timeouts to send_from_queue instead of send() in case clients are stalled and server is continously sending data without checking if previous sends are read or not 2019-12-31 11:01:37 +01:00
eidheim
d1f273a9f1 The start callback now contains the assigned port instead of having to use bind and accept_and_run methods 2019-12-30 11:13:41 +01:00
eidheim
ac6bea58ff Added SimpleWeb::post to asio_compability.hpp 2019-12-29 10:55:57 +01:00
eidheim
d156326598 Added callback to start and accept_and_run 2019-12-29 10:35:14 +01:00
eidheim
a1d8282918 Deprecated Request::remote_endpoint_address() and Request::remote_endpoint_port() 2019-09-17 10:59:21 +02:00
eidheim
fa38408853 Fixes #283 : Added Server::Request::remote_endpoint() 2019-09-15 18:46:51 +02:00
eidheim
253b18f02b Fixes #280 : added start_stop_mutex that is used in Server::bind() and Server::stop() 2019-08-26 14:13:43 +02:00
eidheim
3f1591b6fa Now only calls asio::socket::remote_endpoint() when needed 2019-07-31 12:31:24 +02:00
eidheim
f09a651a6b Server: improved reading remote endpoint in case of errors 2019-07-30 11:33:19 +02:00
eidheim
ed46b43fa7 Improved comments on public functions and variables as suggested in https://github.com/openjournals/joss-reviews/issues/1592#issuecomment-514946444 2019-07-26 09:28:20 +02:00
eidheim
6185e89e25 Fixes #270 : compilation error when using gcc4.8 2019-07-10 18:02:40 +02:00
eidheim
fc43fc362d Cleanup of include guards 2019-06-25 11:56:21 +02:00
eidheim
a743915d72 Made use of clang's Thread Safety Analysis 2019-06-25 11:29:36 +02:00
eidheim
e75f162d8b Server: improved chunked transfer code 2019-06-23 20:28:46 +02:00
eidheim
31e6819b42 Added SimpleWeb::error, and simplified request size checks on server 2019-06-23 20:27:54 +02:00
eidheim
b1d9476ff1 Client: added support for server-sent events, and improved the chunked transfer code. Also some cleanup of especially the client code, and added a few additional tests. 2019-06-23 12:41:32 +02:00
eidheim
3fcf628657 Minor cleanup in send_from_queue 2019-06-03 12:12:33 +02:00
eidheim
9ca86827d9 Unlocks send_queue_lock before calling callbacks in case send_from_queue is invoked in callbacks 2019-05-28 13:07:20 +02:00
eidheim
514a135e0c Improved set_timeout(): no longer keeps connection alive longer than necessary. 2019-05-27 21:13:28 +02:00
eidheim
1b5f062678 New asio: removed use of strand, and fixed steady_timer constructor call 2019-05-22 14:00:06 +02:00
eidheim
44c2f733dc New asio api: removed unnecessary SimpleWeb::timer_expires_after 2019-05-20 18:39:54 +02:00
eidheim
5087f5d3df Added support for new asio api 2019-04-10 11:07:33 +02:00
eidheim
c14705c62b Replaced unique_lock with lock_guard where possible 2019-03-08 12:54:56 +01:00
eidheim
e9877639b2 Fixes #255: Made regex_orderable::str public 2019-03-05 10:00:38 +01:00
Frachop
e70a3c40a3 make SimpleWeb::Server::Request methods const 2019-02-12 23:54:36 +01:00
eidheim
5e8b99c02a Server now accepts IPv6 connections when Config::address is empty 2019-01-10 13:12:26 +01:00
eidheim
b7e5a37da4 Removed possibly unnecessary is_tcp_fast_open_supported-function 2019-01-10 12:57:38 +01:00
gavin.smith@coralbay.tv
0eb6269c70 Linux server-side TFO: Clean-up upon code review 2019-01-03 22:06:59 +00:00