Go to file
2025-10-09 22:22:07 +02:00
.devcontainer refactor(HttpHeaders): add logging for header operations and clean up includes 2025-09-24 22:37:44 +02:00
.vscode feat: enhance C++ development settings in VSCode configuration 2025-10-09 22:22:07 +02:00
config refactor: optimize compiler options and clean up unused directives 2025-10-07 22:38:00 +02:00
docs feat: add initial TODO list for project tasks 2025-10-09 18:01:02 +02:00
error_pages feat: add custom 404 error page for improved user experience 2025-09-30 20:03:11 +02:00
static_site feat(validation): add IValidationRule interface and implementations for port validation 2025-10-06 11:28:29 +02:00
tests claude added more tests. tnx claud 2025-10-07 18:11:09 +02:00
webserv fix errors from pedantic 2025-10-09 21:16:42 +02:00
www claude made a website 2025-10-01 18:03:00 +02: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 Update .clang-tidy configuration: add readability-identifier-length check and fix formatting 2025-09-18 15:07:23 +02:00
.gitignore test coverage 2025-10-07 18:22:36 +02:00
.iwyu.imp feat: serve static pages 2025-10-01 17:50:10 +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 add -Wpedantic and some friends 2025-10-09 21:16:30 +02:00
compile_flags.txt compile flags 2025-09-10 17:51:06 +02:00
coverage.sh test coverage 2025-10-07 18:22:36 +02:00
fix_iwyu_auto.sh feat: update IWYU fix script to default to aggressive mode and clean up option prompts and add to format script 2025-09-30 10:57:53 +02:00
format.sh feat: reorder include statements to ensure corresponding headers are placed first 2025-09-30 11:17:43 +02:00
Makefile build all targets parallel 2025-10-09 21:16:11 +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
reorder_includes.sh feat: add script to reorder includes in .cpp files and ensure corresponding header is at the top 2025-09-30 11:13:56 +02:00
run_tests.sh feat: implement comprehensive unit testing framework with Google Test integration 2025-09-29 16:09:22 +02:00
setup.sh feat(setup): add setup script for development environment and build directory management 2025-09-23 20:35:04 +00:00
test_log.log claude added more tests. tnx claud 2025-10-07 18:11:09 +02:00
TESTING_SETUP.md feat: implement comprehensive unit testing framework with Google Test integration 2025-09-29 16:09:22 +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]