Skip to content

A simple HTTP server written in C++98 using epoll (Linux-only)

Notifications You must be signed in to change notification settings

iboukhss/webserv

Repository files navigation

Webserv

A simple HTTP server written in C++98 using epoll (Linux-only)

Features

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

Build instructions

Because this project relies on Linux-specific epoll it is not compatible with other operating systems.

make

Executable can be found under /build/config_name/bin/webserv.

Usage

Example configurations files can be found under the config/ directory. Format is inspired by NGINX.

./webserv path/to/config

Benchmarks

Add here

Development dependencies

  • 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)

About

A simple HTTP server written in C++98 using epoll (Linux-only)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •