- Increased client_max_body_size to 1000m in default.conf and location /post_body - Added index.html for YoupiBanane with a welcome message - Created empty other.pouic file - Updated FileHandler to change error response from 404 to 403 for forbidden access - Modified log output to include blue text for status messages - Changed signal handling variable from stop_ to signum_ in Server class - Increased MAX_EVENTS in Server run method from 10 to 1024 |
||
|---|---|---|
| .devcontainer | ||
| .vscode | ||
| config | ||
| docs | ||
| htdocs | ||
| logs | ||
| scripts | ||
| tests | ||
| webserv | ||
| .clang-format | ||
| .clang-tidy | ||
| .gitignore | ||
| cgi_tester | ||
| CMakeLists.txt | ||
| compile_flags.txt | ||
| Makefile | ||
| tester | ||
| ubuntu_cgi_tester | ||
| ubuntu_tester | ||
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]