| docs | ||
| webserv | ||
| .clang-format | ||
| .clang-tidy | ||
| .gitignore | ||
| compile_flags.txt | ||
| Makefile | ||
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]