Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nullswan/webserv
HTTP/1.1 compliant and resilient server. Nginx based. Supporting CGI and session/cookies.
https://github.com/nullswan/webserv
webserv webserver
Last synced: about 2 months ago
JSON representation
HTTP/1.1 compliant and resilient server. Nginx based. Supporting CGI and session/cookies.
- Host: GitHub
- URL: https://github.com/nullswan/webserv
- Owner: nullswan
- Created: 2021-11-19T18:09:26.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-12-30T08:13:40.000Z (about 3 years ago)
- Last Synced: 2023-11-23T10:37:40.012Z (about 1 year ago)
- Topics: webserv, webserver
- Language: C++
- Homepage:
- Size: 3.92 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# webserv
School 42 Project - Build HTTP/1.1 resilient server.
**Score:** 125/100
## Authors
- [@c3b5aw](https://www.github.com/c3b5aw)
- [@gmarcha](https://www.github.com/gmarcha)## Build status
[![Unit Test](https://github.com/c3b5aw/webserv/actions/workflows/unit_test.yml/badge.svg?branch=main)](https://github.com/c3b5aw/webserv/actions/workflows/unit_test.yml)
[![Linting](https://github.com/c3b5aw/webserv/actions/workflows/cpplint.yml/badge.svg?branch=main)](https://github.com/c3b5aw/webserv/actions/workflows/cpplint.yml)
[![Docs](https://github.com/c3b5aw/webserv/actions/workflows/docs.yml/badge.svg?branch=main)](https://github.com/c3b5aw/webserv/actions/workflows/docs.yml)
[![Stress Test](https://github.com/c3b5aw/webserv/actions/workflows/stress_test.yml/badge.svg?branch=main)](https://github.com/c3b5aw/webserv/actions/workflows/stress_test.yml)## Tech Stack
**Core:** C++ / C
**Tests:** Python
## Features
- HTTP/1.1 Support
- 100.00% availability using epoll()
- Support GET, POST, DELETE
- Mimic official HTTP responses
- Listen multiple ports
- VHosts
- Fully configurable (view https://github.com/c3b5aw/webserv/blob/config/docs/config_file.md)
- Support Cookies and Session
- Support CGI## Sessions
```
// Enabled by defaultmake SESSION=disable
```## Optimizations
```
make MODE=benchmark
make MODE=benchmark SESSION=disable
```
## Running TestsTo run tests, run the following command
```bash
make tests
```## Usefull Links
- https://www.nginx.com/resources/wiki/start/topics/examples/full/
- https://developer.mozilla.org/en-US/docs/Web/HTTP