A simple HTTP server written in C++98 using epoll (Linux-only)
Supported HTTP versions
- HTTP/1.0 - decent support
- HTTP/1.1 - limited support
HTTP methods:
- GET
- POST
- DELETE
Server capabilities:
- Non-blocking I/O with level-triggered
epoll - Chunked transfer encoding
- Persistent connections (
Connection: keep-alive) - CGI support
Because this project relies on Linux-specific epoll it is not compatible with other operating systems.
makeExecutable can be found under /build/config_name/bin/webserv.
Example configurations files can be found under the config/ directory. Format is inspired by NGINX.
./webserv path/to/configAdd here
- clang-format - code formatting
- clang-tidy - code analysis
- compiledb - generates compilation database for clang tooling
- utest.h - lightweight unit test framework inspired by googletest (C++98 compatible)