Go to file
2025-09-16 15:35:04 +02:00
.vscode first config parse try 2025-09-14 21:15:32 +02:00
config Update server configuration and improve utility functions: change host to 127.0.0.1, modify root path, enhance trimSemi function, and adjust directive parsing logic. 2025-09-16 15:35:04 +02:00
docs Implement server initialization: add Server class with constructor to initialize host and port from ConfigManager 2025-09-16 15:05:35 +02:00
webserv Update server configuration and improve utility functions: change host to 127.0.0.1, modify root path, enhance trimSemi function, and adjust directive parsing logic. 2025-09-16 15:35:04 +02:00
.clang-format Change clang-format style from Google to Microsoft 2025-09-10 18:05:24 +02:00
.clang-tidy clang format & clang tidy 2025-09-10 17:12:05 +02:00
.gitignore Add Makefile and initial implementation of MyModule with main function 2025-09-10 17:41:04 +02:00
CMakeLists.txt Refactor project structure: remove MyModule, implement ConfigManager, and enhance CMake/Makefile for multiple build types 2025-09-11 12:36:31 +02:00
compile_flags.txt compile flags 2025-09-10 17:51:06 +02:00
Makefile Update Makefile: modify default target to only include release and add run target 2025-09-16 15:26:16 +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

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]