A very simple, fast, multithreaded, platform-independent HTTP and HTTPS server and client library implemented using C++11 and Asio (both Boost.Asio and standalone Asio can be used). Created to be an easy way to make REST resources available from C++ applications. See particularly the JSON-POST (using Boost.PropertyTree) and the GET /match/[number] examples, which are most relevant. Before running the server, an RSA private key (server.key) and an SSL certificate (server.crt) must be created. Timeouts, if any of Server::timeout_request and Server::timeout_content are >0 (default: Server::timeout_request=5 seconds, and Server::timeout_content=300 seconds). Simple way to add REST resources using regex for path, and anonymous functions.
Features
- Asynchronous request handling
- Thread pool if needed
- Platform independent
- HTTPS support
- HTTP persistent connection (for HTTP/1.1)
- Client supports chunked transfer encoding
- Simple way to add REST resources using regex for path, and anonymous functions