mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2025-05-15 09:18:27 +00:00
Compare commits
No commits in common. "master" and "v0.20.1" have entirely different histories.
1 changed files with 9 additions and 8 deletions
17
httplib.h
17
httplib.h
|
@ -1087,7 +1087,8 @@ private:
|
|||
bool listen_internal();
|
||||
|
||||
bool routing(Request &req, Response &res, Stream &strm);
|
||||
bool handle_file_request(const Request &req, Response &res);
|
||||
bool handle_file_request(const Request &req, Response &res,
|
||||
bool head = false);
|
||||
bool dispatch_request(Request &req, Response &res,
|
||||
const Handlers &handlers) const;
|
||||
bool dispatch_request_for_content_reader(
|
||||
|
@ -2065,9 +2066,7 @@ template <size_t N> inline constexpr size_t str_len(const char (&)[N]) {
|
|||
}
|
||||
|
||||
inline bool is_numeric(const std::string &str) {
|
||||
return !str.empty() &&
|
||||
std::all_of(str.cbegin(), str.cend(),
|
||||
[](unsigned char c) { return std::isdigit(c); });
|
||||
return !str.empty() && std::all_of(str.begin(), str.end(), ::isdigit);
|
||||
}
|
||||
|
||||
inline uint64_t get_header_value_u64(const Headers &headers,
|
||||
|
@ -6879,7 +6878,8 @@ Server::read_content_core(Stream &strm, Request &req, Response &res,
|
|||
return true;
|
||||
}
|
||||
|
||||
inline bool Server::handle_file_request(const Request &req, Response &res) {
|
||||
inline bool Server::handle_file_request(const Request &req, Response &res,
|
||||
bool head) {
|
||||
for (const auto &entry : base_dirs_) {
|
||||
// Prefix match
|
||||
if (!req.path.compare(0, entry.mount_point.size(), entry.mount_point)) {
|
||||
|
@ -6912,7 +6912,7 @@ inline bool Server::handle_file_request(const Request &req, Response &res) {
|
|||
return true;
|
||||
});
|
||||
|
||||
if (req.method != "HEAD" && file_request_handler_) {
|
||||
if (!head && file_request_handler_) {
|
||||
file_request_handler_(req, res);
|
||||
}
|
||||
|
||||
|
@ -7046,8 +7046,9 @@ inline bool Server::routing(Request &req, Response &res, Stream &strm) {
|
|||
}
|
||||
|
||||
// File handler
|
||||
if ((req.method == "GET" || req.method == "HEAD") &&
|
||||
handle_file_request(req, res)) {
|
||||
auto is_head_request = req.method == "HEAD";
|
||||
if ((req.method == "GET" || is_head_request) &&
|
||||
handle_file_request(req, res, is_head_request)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue