Go to file
2025-11-12 17:16:18 +01:00
.devcontainer feat(dev container): add php cgi to build requirements 2025-10-21 16:55:28 +02:00
.github fixes 2025-11-04 10:22:52 +01:00
.vscode feat: enhance C++ development settings in VSCode configuration 2025-10-09 22:22:07 +02:00
config 42_tester shenanigans 2025-11-11 19:07:13 +01:00
docker feat: more trying little closer 2025-11-12 17:16:18 +01:00
docs fix: new todo 2025-10-29 16:55:07 +01:00
htdocs works? 2025-11-06 19:10:30 +01:00
logs moving docs, log files and iwyu map 2025-10-10 07:56:49 +02:00
scripts iwyu 2025-10-26 13:43:42 +01:00
tests refactor: implement socket structure and server refactor 2025-10-14 18:38:57 +02:00
webserv refactor: improve UploadHandler boundary extraction and add utility for quoted values 2025-11-12 13:09:42 +01:00
webserv-tester@e4c98d6ee4 submodlues 2025-11-11 19:09:31 +01:00
.clang-format fix: add missing newline and ensure binary operators are placed at the beginning of the line 2025-10-09 16:26:00 +02:00
.clang-tidy probably useless chore: update clang-tidy checks to include noexcept-related rules 2025-10-16 00:39:16 +02:00
.gitignore fix: ignore uploads 2025-11-11 14:38:44 +01:00
.gitmodules feat: added tester 2025-10-29 16:59:07 +01:00
cgi_tester trying to setup tester weird stufffff 2025-10-19 14:22:00 +02:00
CMakeLists.txt no extensions cmake 2025-10-22 16:52:16 +02:00
compile_flags.txt compile flags 2025-09-10 17:51:06 +02:00
Makefile moved scripts to script folder 2025-10-09 23:13:48 +02:00
test_700kb.bin tmp: stash commit 2025-11-06 15:42:39 +01:00
ubuntu_cgi_tester trying to setup tester weird stufffff 2025-10-19 14:22:00 +02:00
ubuntu_tester trying to setup tester weird stufffff 2025-10-19 14:22:00 +02:00

webserv

Date Flow Overview

src/
 ├─ main.cpp              # starts server
 ├─ Server.cpp/.hpp       # listens & manages event loop
 ├─ Connection.cpp/.hpp   # represents a single client
 ├─ RequestParser.cpp/.hpp
 ├─ Router.cpp/.hpp
 ├─ Response.cpp/.hpp
 ├─ CGIHandler.cpp/.hpp
 ├─ Config.cpp/.hpp       # parses config file
 └─ Utils.cpp/.hpp
[Client TCP packet]
       │
       ▼
┌───────────────┐
│ Event Loop    │  (poll/select/epoll)
└──────┬────────┘
       │
       ▼
┌───────────────┐
│ RequestParser │  (builds Request struct)
└──────┬────────┘
       │
       ▼
┌───────────────┐
│ Router        │  (selects location, checks methods)
└──────┬────────┘
       │
       ▼
┌───────────────┐
│ Handler       │  (static file, CGI, error)
└──────┬────────┘
       │
       ▼
┌───────────────┐
│ ResponseBuilder│ (status line + headers + body)
└──────┬────────┘
       │
       ▼
[Send response back to client]