Commit graph

200 commits

Author SHA1 Message Date
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
gavin.smith@coralbay.tv
4d7f3729c3 Fixed compiler error. 2018-12-30 00:40:42 +00:00
gavin.smith@coralbay.tv
4328286e32 Fixed compiler error. 2018-12-30 00:33:32 +00:00
gavin.smith@coralbay.tv
7d43617993 Added support for TCP Fast Open in server when using Linux. 2018-12-30 00:25:11 +00:00
eidheim
cfe98038ba Removed use of asio::socket::close due to segmentation fault when Config::thread_pool_size was larger than 1. See #239. 2018-09-21 09:24:19 +02:00
eidheim
56b1df1ee5 Moved SimpleWeb::string_view to utility.hpp, and made use of string_view in Server::Response::write 2018-07-12 08:43:07 +02:00
eidheim
0ae69bffb1 All handlers in send queue is now called on error 2018-07-11 08:41:33 +02:00
eidheim
c5cfa5b86c Added underscore on constructor parameters that are moved 2018-07-10 17:29:27 +02:00
eidheim
cc234506b1 Completed support for multiple sequential Server::Response::send operations 2018-07-10 12:39:15 +02:00
Alex Fraser
6b91839cb6 Allow calling Response::send multiple times: copy the buffer before async_write 2018-06-03 12:10:18 +02:00
eidheim
d59b7c234c Optimized string() functions 2018-06-02 20:21:52 +02:00
eidheim
f52c8a020b Cleanup of start and its related functions. Also removed unused lambda captures. 2018-05-05 10:05:11 +02:00
Thomas Karlsson
3ba786f585 Splitted the start function into a two in order to access the bound port
This is relevant if binding on a random free port (0) and since start never
returns... we need a split function to safely get it
2018-04-19 15:36:38 +02:00
Addy
aa030950bb removed unused variable; 2017-12-21 14:49:57 -05:00
eidheim
b6261bfc31 Fixes #169: time point when a request header is read is now stored in Server::Request::header_read_time 2017-11-25 20:40:40 +01:00
eidheim
0c8da107a6 Rename ServerBase::read_request_and_content to ServerBase::read, and ServerBase::write_response to ServerBase::write 2017-11-19 18:03:28 +01:00
eidheim
101a471ca9 Fixes #173: added server support for chunked transfer encoded requests 2017-11-19 18:03:28 +01:00
eidheim
61847f3443 Made Request::remote_endpoint public 2017-11-07 22:17:15 +01:00
eidheim
6e0a1ec9e8 Fixes issue mentioned in #164: remote endpoint address and port was not correctly set. Request::remote_endpoint_address and Request::remote_endpoint_port are now functions instead of variables in order to reduce unnecessary instructions. 2017-11-05 18:48:21 +01:00
eidheim
bc4c49134d Removed unnecessary cstddef includes 2017-09-30 12:08:53 +02:00
knowledge4igor
2cfaa0e2a0 Mini refactoring: using std::size_t and std::numeric_limits 2017-09-25 23:33:31 +03:00