You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3d5474e
Browse filesBrowse the repository at this point in the historyBrowse files
refactor: extract auth surface from http_request.hpp (656 → 497)
Step 2 of the FILE_LOC_MAX ratchet. Moves the auth/credentials member
declarations of class http_request — basic auth getters (get_user,
get_pass, get_digested_user), the TLS / client-certificate cluster
(has_tls_session, has_client_certificate, get_client_cert_*,
is_client_cert_verified, get_client_cert_not_before/after), and the
digest-auth verification entrypoints (check_digest_auth,
check_digest_auth_digest) — into a sibling public header
httpserver/http_request_auth.hpp.
Mechanism: in-class-body #include. The sibling header carries
declarations only and gates itself behind
SRC_HTTPSERVER_HTTP_REQUEST_HPP_INSIDE_CLASS_, which is #define'd
just before the include inside class http_request { ... } and
#undef'd immediately after. Including the sibling in any other
context raises a #error with a pointer back to http_request.hpp.
Doxygen still picks up the declarations through textual inclusion,
so the generated docs are unchanged. The header is installed
(nobase_include_HEADERS) so consumers building against an installed
libhttpserver see it transitively via <httpserver.hpp> /
httpserver/http_request.hpp; it is NOT added to the umbrella's
sub-header list because the inner gate forbids standalone inclusion.
No public ABI change: the methods remain member functions of
http_request, declared in the same access section, same signatures,
same noexcept. Consumer code (test/, examples/) is untouched.
FILE_LOC_MAX stays at 2700 — webserver.cpp (2673) still pins it.
Offender list down to five files.
Verification:
make check 51/51 PASS (includes hygiene,
install-layout, doxygen,
examples, readme, release-notes)
./scripts/check-file-size.sh PASS at FILE_LOC_MAX=2700
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments