Commit graph

210 commits

Author SHA1 Message Date
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
eidheim
0db33e72e5 Merge branch 'master' of https://github.com/tylawin/Simple-Web-Server 2017-09-25 10:31:23 +02:00
eidheim
69f945f686 Fixes #155: added max streambuf config items to limit large requests/responses if needed 2017-09-25 09:58:50 +02:00
tylawin
cf08fb4cee fix unused variable warning 2017-09-24 21:51:19 -06:00
knowledge4igor
3ab6cd8a39 Change 'typedef' constructions to type aliases 2017-09-05 01:32:21 +03:00
eidheim
f7ddeeda82 Completed PR #153: using steady timer instead of deadline timer to remove boost dependency when using standalone asio 2017-08-29 09:29:23 +02:00
Breeze Chen
28803d81be Removed dependency of boost::deadline_timer if USE_STANDALONE_ASIO is defined. 2017-08-29 11:19:52 +08:00
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
c21768fae9 Server: on session upgrade, remove connection from connections 2017-07-18 18:25:44 +02:00
eidheim
d0e417cdd9 Fixes #143: Content-Length is now initialized to 0 2017-07-15 14:53:38 +02:00
eidheim
1f474f377b Made Server::stop exception safe 2017-07-15 14:42:07 +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
76f923d7bd Reverted stop changes due to complications when running on one core 2017-07-07 22:38:44 +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
53c9ff64c0 Corrected on_error's error_code parameter 2017-07-05 17:42:18 +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
16aa958903 Server::Session::timer is now of type unique_ptr instead of shared_ptr 2017-07-04 18:10:58 +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
cc1a8fc614 The function Server::send was moved to Server::Response::send 2017-07-04 10:14:58 +02:00
eidheim
a69e32290f Server::send response parameter changed to const. Some cleanup of examples related to this. 2017-07-04 09:17:36 +02:00
eidheim
c934c9aefe Timeout timers and Client's connection close cleanup 2017-07-04 08:51:15 +02:00
eidheim
30f4f94a03 ServerBase now derives from and use std::enable_shared_from_this 2017-07-03 18:00:49 +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
80ab651fca Removed deprecated functions 2017-07-03 14:31:22 +02:00
eidheim
b3a1d48c0a Callback shared_ptr parameters are now shared_ptr& 2017-07-03 14:25:48 +02:00
eidheim
0c9cb000b4 Server::Request::path is split into path and query_string 2017-07-03 14:25:48 +02:00
eidheim
d1798396ac Config::thread_pool_size is no longer checked if io_service is set (that is, when external io_service is used) before calling start 2017-07-03 10:22:44 +02:00