01 // PROJECT AT A GLANCE
ZIA
C++A web server written from scratch, all of whose features are hot-loaded modules.
Writing a complete web server, able to serve pages over HTTP as well as HTTPS. What makes it distinctive: the server itself can barely do anything. All its capabilities — serving a file, running PHP, logging, encrypting — are separate modules you enable in a configuration file, and which reload by themselves when you edit that file, without ever restarting the server.
An HTTP/HTTPS server in C++ with a pipeline architecture of dynamically loaded modules, JSON configuration hot-reloaded through file watching, twelve modules provided.
PRIMARYC++
DELIVERYTEAM RECORD
VERIFICATIONGoogleTest
SOURCEINSPECTOR READY
03 // KEY OUTCOMES
- Hot reloading of modules and configuration, with no restart
- Twelve modules, including a PHP CGI gateway and a TLS layer
- A documented module API, letting new ones be written without touching the core
BEYOND THE BRIEF
- Hot reloading of the configuration and the modules, not required, which makes it possible to modify the server without stopping it
- A Docker image and a launch script (run.sh)
- API documentation (docs/api.md) and a Doxyfile for generated documentation
- A shell test client (tests/client.sh) with sample requests
- GoogleTest tests
04 // SOURCE TREE
READING SOURCE…