An experimental multithreading application server with HTTP API, implemented in C++20 using Boost.Asio (with coroutines), Boost.Beast, and SQLite database.
Martin Beran
This software is available under the terms of BSD 2-Clause License, see file LICENSE.md.
etc/
- configuration filessrc/
- source codetest/
- automatic tests
cmake -S . -B build
cmake --build build
This will create executable build/src/acppsrv
.
-
Create a testing database by script
create_db.sh
. -
Start the server by command
build/src/acppsrv etc/default_cfg.json
. It will write log to its standard error. -
Send a request by command, for example,
curl --data-binary @- -H 'Content-Type: application/json'-v http://localhost:8080/db
The request body in JSON format should be written to stdandard input of
curl
. Request URI paths and protobuf/JSON request and response formats have not been documented yet. See source code for available request types. -
Stop the server by sending it signal
SIGTERM
orSIGINT
(bykill
orCtrl-C
.