Skip to content

Commit 685ea52

Browse files
etrclaude
andcommitted
refactor: collapse mid-class #include fragment headers into parents
http_request.hpp and http_response.hpp split their class bodies across mid-class #include fragments (http_request_auth.hpp, http_request_getters.hpp, http_response_factories.hpp) purely to duck the old physical-line file-size gate. Now that the gate measures SLOC, fold those declarations back inline so each public class is one self-contained header. No behavioural change; the matching .cpp translation units (http_request_auth.cpp, http_response_factories.cpp) stay as separate compilation units. Parents are 149 / 132 SLOC after collapse. The genuine encapsulation boundaries are untouched: detail::http_request_impl (PIMPL) and the detail::body hierarchy behind http_response's SBO remain factored out. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent e203e7c commit 685ea52

8 files changed

Lines changed: 455 additions & 620 deletions

src/Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ libhttpserver_la_SOURCES = string_utilities.cpp webserver.cpp webserver_add_hook
3030
# Detail headers (httpserver/detail/*.hpp) live here so they cannot leak to
3131
# downstream consumers — the public surface comes in through <httpserver.hpp>.
3232
noinst_HEADERS = httpserver/string_utilities.hpp httpserver/detail/modded_request.hpp httpserver/detail/http_endpoint.hpp httpserver/detail/body.hpp httpserver/detail/webserver_impl.hpp httpserver/detail/webserver_impl_dispatch.hpp httpserver/detail/connection_state.hpp httpserver/detail/secure_zero.hpp httpserver/detail/http_request_impl.hpp httpserver/detail/resource_hook_table.hpp httpserver/detail/route_entry.hpp httpserver/detail/lambda_resource.hpp httpserver/detail/segment_trie.hpp httpserver/detail/route_cache.hpp httpserver/detail/route_tier.hpp httpserver/detail/unescape_helpers.hpp gettext.h
33-
nobase_include_HEADERS = httpserver.hpp httpserver/body_kind.hpp httpserver/cookie.hpp httpserver/constants.hpp httpserver/create_webserver.hpp httpserver/create_webserver_setters.hpp httpserver/create_test_request.hpp httpserver/webserver.hpp httpserver/webserver_routes.hpp httpserver/webserver_runtime.hpp httpserver/webserver_websocket.hpp httpserver/webserver_hooks.hpp httpserver/websocket_handler.hpp httpserver/http_utils.hpp httpserver/http_utils_helpers.hpp httpserver/ip_representation.hpp httpserver/file_info.hpp httpserver/http_request.hpp httpserver/http_request_auth.hpp httpserver/http_request_getters.hpp httpserver/http_response.hpp httpserver/http_response_factories.hpp httpserver/http_resource.hpp httpserver/feature_unavailable.hpp httpserver/iovec_entry.hpp httpserver/http_arg_value.hpp httpserver/http_method.hpp httpserver/hook_phase.hpp httpserver/hook_action.hpp httpserver/hook_handle.hpp httpserver/hook_context.hpp
33+
nobase_include_HEADERS = httpserver.hpp httpserver/body_kind.hpp httpserver/cookie.hpp httpserver/constants.hpp httpserver/create_webserver.hpp httpserver/create_webserver_setters.hpp httpserver/create_test_request.hpp httpserver/webserver.hpp httpserver/webserver_routes.hpp httpserver/webserver_runtime.hpp httpserver/webserver_websocket.hpp httpserver/webserver_hooks.hpp httpserver/websocket_handler.hpp httpserver/http_utils.hpp httpserver/http_utils_helpers.hpp httpserver/ip_representation.hpp httpserver/file_info.hpp httpserver/http_request.hpp httpserver/http_response.hpp httpserver/http_resource.hpp httpserver/feature_unavailable.hpp httpserver/iovec_entry.hpp httpserver/http_arg_value.hpp httpserver/http_method.hpp httpserver/hook_phase.hpp httpserver/hook_action.hpp httpserver/hook_handle.hpp httpserver/hook_context.hpp
3434

3535
AM_CXXFLAGS += -fPIC -Wall
3636

src/http_request_auth.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@
2121
// http_request public-API forwarders for the auth/credentials surface:
2222
// get_user / get_pass / get_digested_user, check_digest_auth /
2323
// check_digest_auth_digest, and the high-level TLS / client-certificate
24-
// accessors. The declarations live in httpserver/http_request_auth.hpp
25-
// (included by httpserver/http_request.hpp via the in-class-body
26-
// include pattern).
24+
// accessors. The declarations live in httpserver/http_request.hpp.
2725

2826
#include "httpserver/http_request.hpp"
2927

src/http_response_factories.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ http_response http_response::unauthorized(digest_challenge challenge) {
290290
return r;
291291
}
292292
#else // !HAVE_DAUTH
293-
// The declaration in http_response_factories.hpp is
293+
// The declaration in http_response.hpp is
294294
// unconditional, so a HAVE_DAUTH-off build must still define this overload
295295
// rather than leave it as a link error. Throw feature_unavailable instead
296296
// of constructing a response.

src/httpserver/http_request.hpp

Lines changed: 336 additions & 14 deletions
Large diffs are not rendered by default.

src/httpserver/http_request_auth.hpp

Lines changed: 0 additions & 234 deletions
This file was deleted.

0 commit comments

Comments
 (0)