Skip to content

Commit 8f3dbf7

Browse files
committed
Code cleanup
1 parent 924a557 commit 8f3dbf7

File tree

1 file changed

+26
-34
lines changed

1 file changed

+26
-34
lines changed

httplib.h

Lines changed: 26 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,7 @@ class Server {
547547
int bind_internal(const char *host, int port, int socket_flags);
548548
bool listen_internal();
549549

550-
bool routing(Request &req, Response &res, ContentReader content_reader);
550+
bool routing(Request &req, Response &res, Stream &strm, bool last_connection);
551551
bool handle_file_request(Request &req, Response &res);
552552
bool dispatch_request(Request &req, Response &res, Handlers &handlers);
553553
bool dispatch_request_for_content_reader(Request &req, Response &res,
@@ -2790,31 +2790,38 @@ inline bool Server::listen_internal() {
27902790
return ret;
27912791
}
27922792

2793-
inline bool Server::routing(Request &req, Response &res,
2794-
ContentReader content_reader) {
2793+
inline bool Server::routing(Request &req, Response &res, Stream &strm, bool last_connection) {
27952794
// File handler
27962795
if (req.method == "GET" && handle_file_request(req, res)) { return true; }
27972796

27982797
// Content reader handler
2799-
if (req.method == "POST") {
2800-
if (dispatch_request_for_content_reader(req, res, content_reader,
2801-
post_handlers_for_content_reader)) {
2802-
return true;
2803-
}
2804-
} else if (req.method == "PUT") {
2805-
if (dispatch_request_for_content_reader(req, res, content_reader,
2806-
put_handlers_for_content_reader)) {
2807-
return true;
2808-
}
2809-
} else if (req.method == "PATCH") {
2810-
if (dispatch_request_for_content_reader(
2811-
req, res, content_reader, patch_handlers_for_content_reader)) {
2812-
return true;
2798+
if (req.method == "POST" || req.method == "PUT" || req.method == "PATCH") {
2799+
ContentReader content_reader = [&](ContentReceiver receiver) {
2800+
return read_content_with_content_receiver(strm, last_connection, req, res, receiver);
2801+
};
2802+
2803+
if (req.method == "POST") {
2804+
if (dispatch_request_for_content_reader(req, res, content_reader,
2805+
post_handlers_for_content_reader)) {
2806+
return true;
2807+
}
2808+
} else if (req.method == "PUT") {
2809+
if (dispatch_request_for_content_reader(req, res, content_reader,
2810+
put_handlers_for_content_reader)) {
2811+
return true;
2812+
}
2813+
} else if (req.method == "PATCH") {
2814+
if (dispatch_request_for_content_reader(
2815+
req, res, content_reader, patch_handlers_for_content_reader)) {
2816+
return true;
2817+
}
28132818
}
28142819
}
28152820

28162821
// Read content into `req.body`
2817-
if (!content_reader(nullptr)) { return false; }
2822+
if (!read_content(strm, last_connection, req, res)) {
2823+
return false;
2824+
}
28182825

28192826
// Regular handler
28202827
if (req.method == "GET" || req.method == "HEAD") {
@@ -2916,23 +2923,8 @@ Server::process_request(Stream &strm, bool last_connection,
29162923

29172924
if (setup_request) { setup_request(req); }
29182925

2919-
// Body
2920-
ContentReader content_reader = [&](ContentReceiver receiver) {
2921-
if (req.method == "POST" || req.method == "PUT" || req.method == "PATCH") {
2922-
if (receiver) {
2923-
return read_content_with_content_receiver(strm, last_connection, req,
2924-
res, receiver);
2925-
} else {
2926-
return read_content(strm, last_connection, req, res);
2927-
}
2928-
} else if (req.method == "PRI") {
2929-
return read_content(strm, last_connection, req, res);
2930-
}
2931-
return true;
2932-
};
2933-
29342926
// Rounting
2935-
if (routing(req, res, content_reader)) {
2927+
if (routing(req, res, strm, last_connection)) {
29362928
if (res.status == -1) { res.status = req.ranges.empty() ? 200 : 206; }
29372929
} else {
29382930
if (res.status == -1) { res.status = 404; }

0 commit comments

Comments
 (0)