WCHTTPServer
From Lazarus wiki
Jump to navigationJump to search
What is WCHTTPServer
WCHTTPServer is an HTTP/2 + HTTP 1.1 + WebSocket server written in Free Pascal.
The project builds on the fcl-web library and extends it 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 thread pools e.g. helpful classes to work with EventSources.
- Client rankings based on the frequency of client requests.
- Built-in support for gzip and deflate compression methods including decompression of client-side requests.
- WebSocket protocol supported.
- Ability to start the server both in HTTP/2 mode and in HTTP 1.1 mode.
- Modified OpenSSL modules (added necessary TLS extensions) in order 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).
- Works under both Windows and Linux.
Author
- Ilya Medvedkov
Licence
- GNU Lesser General Public License v2.1