- HTTP 1.1 compliant
- Never block and client can be bounced properly
- Non-blocking I/O operations
- Listen to multiple IPs
- Listen to multiple ports
- Methods: GET, POST, DELETE
- Able to upload files
- Able to serve a fully static website.
- Supports multiple CGIs.
- Custom error pages
- High availablity
- Resilient! Server never dies π
poll()as the default event monitor
$ make -C server/ $ ./webserver server/webserver.conf
server: host: 127.0.0.1 port: 5050 server_name: example.com location: allowed_method: get delete post path: "/route" root: "/root" index: index.html index.php .. upload: "upload/path" auto_index: on || off cgi: php: "path/to/php-cgi" py: "path/to/python" perl: "path/to/perl" redirection: status: redirection_code url: 'url' error_page: status_code: custom_error_page.html
Authors:
Ayoub Maatouch
Marouane Ougnou
ElMehdi Mallah