Go to file
2025-09-25 17:33:14 +02:00
.devcontainer refactor(HttpHeaders): add logging for header operations and clean up includes 2025-09-24 22:37:44 +02:00
.vscode refactor: streamline build directory detection and update Makefile for environment handling 2025-09-24 22:34:20 +02:00
config feat(directives): implement directive parsing and factory pattern for configuration 2025-09-25 17:33:14 +02:00
docs feat(directives): implement directive parsing and factory pattern for configuration 2025-09-25 17:33:14 +02:00
webserv feat(directives): implement directive parsing and factory pattern for configuration 2025-09-25 17:33:14 +02:00
.clang-format Enhance code formatting and organization: 2025-09-22 22:59:29 +02:00
.clang-tidy Update .clang-tidy configuration: add readability-identifier-length check and fix formatting 2025-09-18 15:07:23 +02:00
.gitignore feat(iwyu): add scripts for Include What You Use analysis and results review 2025-09-24 09:57:48 +02:00
.iwyu.imp feat(iwyu): enhance IWYU mappings and add automatic fix scripts 2025-09-24 11:01:50 +02:00
check_iwyu.sh refactor: streamline build directory detection and update Makefile for environment handling 2025-09-24 22:34:20 +02:00
CMakeLists.txt Enhance code style and organization: update .clang-format for include sorting, enable parallel compilation in CMake, and clean up includes across multiple files for improved readability and consistency. 2025-09-20 23:21:23 +02:00
compile_flags.txt compile flags 2025-09-10 17:51:06 +02:00
fix_iwyu_auto.sh feat(iwyu): enhance IWYU mappings and add automatic fix scripts 2025-09-24 11:01:50 +02:00
format.sh feat(format): add script for formatting and checking header files 2025-09-24 12:55:40 +02:00
Makefile refactor: streamline build directory detection and update Makefile for environment handling 2025-09-24 22:34:20 +02:00
Makefile.old Refactor project structure: remove MyModule, implement ConfigManager, and enhance CMake/Makefile for multiple build types 2025-09-11 12:36:31 +02:00
setup.sh feat(setup): add setup script for development environment and build directory management 2025-09-23 20:35:04 +00: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]