* New function SSLServer::update_certs. Allows to update certificates while server is running
* New function SSLServer::update_certs. Added unit test
* avoid memory leaks if linked with static openssl libs
---------
Co-authored-by: CEU\schielke <Rainer.Schielke@heidelberg.com>
* New function SSLServer::update_certs. Allows to update certificates while server is running
* New function SSLServer::update_certs. Added unit test
---------
Co-authored-by: CEU\schielke <Rainer.Schielke@heidelberg.com>
Release builds result in the following warning because `content_length` param was used only inside asserts:
1> cpp-httplib\httplib.h(4933,45): warning C4100: 'content_length': unreferenced formal parameter
* Windows has WSAAccept() which will create sockets inheriting flags from
the server socket
* Linux has accept4() which has a flags argument supporting SOCK_CLOEXEC
* Implement string divider to replace splitter
* Divide query string in half
* Add a test case for query values containing the '=' character
* Add test cases for string divider
* Fix warnings
using lambda expression as Handler in set_error_handler will cause ambiguous.
Template forwarding can forward HandlerWithResponse to the correct overloading function
For very busy servers, the internal jobs queue where accepted
sockets are enqueued can grow without limit.
This is a problem for two reasons:
- queueing too much work causes the server to respond with huge latency,
resulting in repetead timeouts on the clients; it is definitely
better to reject the connection early, so that the client
receives the backpressure signal as soon as the queue is
becoming too large
- the jobs list can eventually cause an out of memory condition