diff --git a/CLAUDE.md b/CLAUDE.md index 6f6091e..0e4558a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -68,7 +68,6 @@ Report lands at `_build\windows-x86-64-coverage\coverage-report\index.html`. ## Architecture - **`src/`** — the main application (`CMakeLists.txt` defines target `IISNativeModuleApp`, project `IISNativeModuleApp`). Sources are glob-collected (`*.cpp`/`*.h` in the directory), so **new files under `src/` are picked up automatically at the next CMake configure** — no need to edit `src/CMakeLists.txt` when adding a file there. - - `src/controller/`, `src/model/`, `src/view/` are currently empty placeholder directories (each holds only a `.gitignore`), suggesting an intended MVC split that hasn't been built out yet. - `src/utils/` is a separate static library target, `IISNativeModuleUtils` (project `IISNativeModuleUtils`), also glob-built and linked into both the app and the test binary. New utility files go here and are picked up the same way. - `src/module/` is the IIS native module itself: target `IISNativeModule`, a `SHARED` library (DLL) that exports `RegisterModule` via `iis_native_module.def`. `iis::IISRequestLevelModule` (`iis_request_level_module.h/.cpp`) implements only `OnBeginRequest` (plus the mandatory `Dispose()`): requests whose cooked URL path ends with `/forbidden` get a 403 with reason `Forbidden by IISRequestLevelModule`, everything else gets an `X-IISRequestLevelModule: 1` response header. `iis::IISRequestLevelModuleFactory` creates instances; `register_module.cpp` subscribes to `RQ_BEGIN_REQUEST` only — add further `RQ_*` flags there as methods gain implementations. - **`test/`** — GTest-based tests, target/project `IISNativeModuleTest`. Globs both `test/*.cpp` and `test/utils/*.cpp`, and links `IISNativeModuleUtils`. `test/main.cpp` is a standard GTest `main()` running `RUN_ALL_TESTS()`. Mirror `src/utils/` layout under `test/utils/` for new utility tests (see `test/utils/smoke_test.cpp` as the existing example — one GTest `TEST` per behavior, wrapped in the same namespace as the code under test). diff --git a/src/controller/.gitignore b/src/controller/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/src/model/.gitignore b/src/model/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/src/view/.gitignore b/src/view/.gitignore deleted file mode 100644 index e69de29..0000000