88Halve the builder's surface by collapsing each paired ` foo()/no_foo() ` to ` foo(bool = true) ` , and validate inputs at the build step.
99
1010** Action Items:**
11- - [ ] Inventory every ` no_* ` setter in ` create_webserver.hpp ` (` no_ssl ` , ` no_debug ` , ` no_pedantic ` , ` no_basic_auth ` , ` no_digest_auth ` , ` no_deferred ` , ` no_regex_checking ` , ` no_ban_system ` , ` no_post_process ` , ` no_single_resource ` , ` no_ipv6 ` , ` no_dual_stack ` , etc.).
12- - [ ] Replace each with a single ` foo(bool enable = true) ` setter; remove the corresponding ` no_foo() ` .
13- - [ ] Validate at the setter (or at ` webserver ` construction) and throw ` std::invalid_argument ` with a descriptive message:
11+ - [x ] Inventory every ` no_* ` setter in ` create_webserver.hpp ` (` no_ssl ` , ` no_debug ` , ` no_pedantic ` , ` no_basic_auth ` , ` no_digest_auth ` , ` no_deferred ` , ` no_regex_checking ` , ` no_ban_system ` , ` no_post_process ` , ` no_single_resource ` , ` no_ipv6 ` , ` no_dual_stack ` , etc.).
12+ - [x ] Replace each with a single ` foo(bool enable = true) ` setter; remove the corresponding ` no_foo() ` .
13+ - [x ] Validate at the setter (or at ` webserver ` construction) and throw ` std::invalid_argument ` with a descriptive message:
1414 - port > 65535
1515 - threads < 0
1616 - any setter receiving an obviously bogus value (negative timeouts, zero buffer sizes, etc.)
17- - [ ] Update internal callers, tests, and examples to use the new boolean-arg form.
18- - [ ] Confirm ` create_webserver.hpp ` line count drops by ≥30% (PRD §3.3 acceptance).
17+ - [x ] Update internal callers, tests, and examples to use the new boolean-arg form.
18+ - [x ] Confirm ` create_webserver.hpp ` line count drops by ≥30% (PRD §3.3 acceptance).
1919
2020** Dependencies:**
2121- Blocked by: TASK-006, TASK-014
@@ -31,4 +31,4 @@ Halve the builder's surface by collapsing each paired `foo()/no_foo()` to `foo(b
3131** Related Requirements:** PRD-CFG-REQ-001, PRD-CFG-REQ-002, PRD-CFG-REQ-003, PRD-CFG-REQ-004
3232** Related Decisions:** §4.9
3333
34- ** Status:** Not Started
34+ ** Status:** Done
0 commit comments