Commit graph

139 commits

Author SHA1 Message Date
eidheim
ea2b0f4a80 Minor comment change to string() functions 2017-08-01 07:58:19 +02:00
eidheim
7c2f714949 noexcept cleanup 2017-07-22 13:33:32 +02:00
eidheim
7dd2d2108a Added noexcept 2017-07-22 12:50:40 +02:00
eidheim
474fab90f3 Renamed ScopesContinue to ScopeRunner, and some related cleanup 2017-07-20 17:21:19 +02:00
eidheim
70e8c3104c Renamed ContinueScopes to ScopesContinue 2017-07-20 11:31:58 +02:00
eidheim
35f835a67b Cancel handlers feature: replaced readers-writer lock with a spinlock implementation 2017-07-20 10:04:05 +02:00
eidheim
b89f5635a5 Moved request and response message parsing to utility.hpp 2017-07-19 08:03:23 +02:00
eidheim
88177647b8 Client: added connections_mutex unlocks when performing reconnect 2017-07-15 15:52:22 +02:00
eidheim
35ea8a950e Client: now lets socket destructor close itself 2017-07-15 10:57:12 +02:00
eidheim
eeaf66cf2c Fixes #142: a new socket is created when a https connection is reconnected, since a second SSL handshake cannot be made on the same socket. Also now removing failed connections from the connections collection. 2017-07-15 08:45:06 +02:00
eidheim
3541dd7879 ::stop now closes connections even though internal io_service is used 2017-07-12 10:03:52 +02:00
eidheim
c03e378e69 Comments addition and cleanup 2017-07-10 11:12:10 +02:00
eidheim
d8b8716a17 Session and Connection cleanup 2017-07-10 10:51:24 +02:00
eidheim
dfd7895328 Shared mutex is no longer used when using internal io_service 2017-07-09 09:13:03 +02:00
eidheim
6c2c8d680b No longer stores pointer to Server/Client instance in Session objects. Some other cleanups as well. 2017-07-08 22:21:29 +02:00
eidheim
f3f527467f Now close connections when Server::stop is called 2017-07-08 11:47:05 +02:00
eidheim
490e33e2d1 Client::close renamed to Client::stop 2017-07-07 23:35:14 +02:00
eidheim
06d3c701e1 Fixed io_test (out of stack?), also fixed concurrent sync requests count on request error. 2017-07-07 19:37:20 +02:00
eidheim
fd764d908c Synchronous client request calls is now safe to use concurrently 2017-07-07 17:16:53 +02:00
eidheim
9b5063f422 Replaced Server/Client::shared_from_this with asio callback checks if the Server/Client has been destroyed. Also added SharedMutex to utility.hpp. 2017-07-07 11:25:06 +02:00
eidheim
0f2ab616ec Reverted namespace asio = asio for standalone asio because of gcc error 2017-07-05 14:32:43 +02:00
eidheim
8862c62b60 Added SimpleWeb::asio namespace when using standalone asio as well 2017-07-05 14:32:42 +02:00
eidheim
d9416c2566 Added Client::close, and Client::connections and Client::connections_mutex are no longer shared_ptrs 2017-07-04 23:25:30 +02:00
eidheim
68f1e8413a Reverted resource/response function parameter types shared_ptr& to shared_ptr. No real value added here, just more complicated code. Compiler might also optimise the now const lambda captures. 2017-07-04 12:04:07 +02:00
eidheim
0662cbdfb7 Added timeout to Server::Response::send, and some cleanup 2017-07-04 11:21:31 +02:00
eidheim
c934c9aefe Timeout timers and Client's connection close cleanup 2017-07-04 08:51:15 +02:00
eidheim
026f47f195 ClientBase now derives from and use std::enable_shared_from_this 2017-07-03 18:00:24 +02:00
eidheim
1992bbb4b4 Preparation for std::enable_shared_from_this: Server- and Client-constructors are no longer public, use ::create instead 2017-07-03 15:02:35 +02:00
eidheim
b3a1d48c0a Callback shared_ptr parameters are now shared_ptr& 2017-07-03 14:25:48 +02:00
eidheim
e50d2fc63a Added .clang-format file and applied style to source files 2017-06-26 15:23:29 +02:00
eidheim
362c1a2591 Now closes unwanted client connections when a request is finished. Also added additional tests 2017-06-25 07:20:03 +02:00
eidheim
20d3c44366 *Fixes #135: memory leak that was introduces Jun 17, 2017 in e1aebba344 2017-06-24 13:19:53 +02:00
eidheim
c9c6ee3d98 Removed unnecessary includes 2017-06-24 10:46:42 +02:00
eidheim
8ec36d19fd Changed some parameters from std::iostream to std::istream in Client and Server 2017-06-23 07:00:16 +02:00
eidheim
361ac21518 Cleanup of synchronous Client::request functions 2017-06-22 22:32:51 +02:00
eidheim
6b7fd993cf Added convenience function Client::Response::Content::string() 2017-06-22 22:00:59 +02:00
eidheim
ba4eec7ebe Created Utility.hpp and moved some code into this file. Also improved parse_query_string. 2017-06-22 12:08:56 +02:00
eidheim
62da9daf87 Added Server::on_error and async client request examples 2017-06-20 14:36:05 +02:00
eidheim
52ff2787bd Removed use of boost::shared_mutex (in Client). Stopping request handlers, if needed, is now up to the user of the library. If io_service is running on multiple threads, a shared_mutex is needed, otherwise, regular mutex is adequate. 2017-06-19 06:52:30 +02:00
eidheim
fae8e07faa Removed dependency of boost::string_ref if USE_STANDALONE_ASIO is defined 2017-06-18 08:11:27 +02:00
eidheim
e1aebba344 Fixes #114: added support for async client requests. Also includes some cleanup, support for parallel requests, and client reconnect 2017-06-17 11:52:13 +02:00
eidheim
f5ba673350 Further cleanup of Client 2017-06-12 11:52:37 +02:00
eidheim
e2981c340b Cleanup of Client in preparation for async request 2017-06-12 10:53:22 +02:00
eidheim
2096017b24 Standalone asio correction in Client 2017-06-12 09:42:29 +02:00
eidheim
944c7fe370 Client::resolver is no longer a member variable 2017-06-12 08:32:27 +02:00
eidheim
a0cd7520ba Made Client::create_request_header const, and cleanup of indentations in Client 2017-06-12 08:22:40 +02:00
eidheim
5baffbc3f1 Cleanup of Client::request in preparation for async requests 2017-06-12 08:14:34 +02:00
eidheim
45f84489bc Client::io_service is now shared_ptr 2017-06-12 07:57:10 +02:00
eidheim
83691c6e9a Fixes #129: linking issues related to case_insensitive_equal and make_error_code 2017-06-10 15:03:27 +02:00
eidheim
111aeeb7fc Renamed case insensitive function and classes, and added test for case_insensitive_equal 2017-06-10 11:17:49 +02:00