wchttpserver
HTTP/2+1.1 server written with Lazarus (Free Pascal)
The project builds on fpWeb modules and extends them to increase functionality:
- Client management using cookies (saving and maintaining sessions).
- Saving information about clients and sessions in SQLite database.
- Saving information about the latest requests and saving logs in SQLite database.
- Multithreading preparation and execution of requests based on threads pools e.g. helpful classes to work with EventSources.
- Clients ranking based on clients frequency of requests.
- Built-in support for gzip and deflate compression methods.
- Ability to start the server both in HTTP/2 mode and in HTTP 1.1 mode.
- Modified OpenSSL modules (added necessary TLS extensions) to create and maintain HTTP/2 connections.
- Added the ability to save the master key and a random set of client
data on the server-side (necessary for debugging TLS dumps using
WireShark). - Working both under Windows and Linux.
https://github.com/iLya2IK/wchttpserver