From 4e53e000d7506986e6ca70456a46b6e1320ab231 Mon Sep 17 00:00:00 2001 From: Michael Klimenko Date: Mon, 29 Jan 2024 08:55:28 +0100 Subject: [PATCH] Revert httplib.h changes due to being external --- examples/server/httplib.h | 112 +++++++++++++++++++------------------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/examples/server/httplib.h b/examples/server/httplib.h index f8a93d95b..28746000c 100644 --- a/examples/server/httplib.h +++ b/examples/server/httplib.h @@ -223,7 +223,6 @@ using socket_t = int; #include #include #include -#include #ifdef CPPHTTPLIB_OPENSSL_SUPPORT #ifdef _WIN32 @@ -706,7 +705,7 @@ public: Server &set_file_request_handler(Handler handler); Server &set_error_handler(HandlerWithResponse handler); - Server &set_error_handler(const Handler& handler); + Server &set_error_handler(Handler handler); Server &set_exception_handler(ExceptionHandler handler); Server &set_pre_routing_handler(HandlerWithResponse handler); Server &set_post_routing_handler(Handler handler); @@ -782,7 +781,7 @@ private: bool dispatch_request(Request &req, Response &res, const Handlers &handlers); bool dispatch_request_for_content_reader(Request &req, Response &res, - const ContentReader& content_reader, + ContentReader content_reader, const HandlersForContentReader &handlers); bool parse_request_line(const char *s, Request &req); @@ -805,7 +804,7 @@ private: MultipartContentHeader multipart_header, ContentReceiver multipart_receiver); bool read_content_core(Stream &strm, Request &req, Response &res, - const ContentReceiver& receiver, + ContentReceiver receiver, MultipartContentHeader multipart_header, ContentReceiver multipart_receiver); @@ -911,8 +910,8 @@ public: explicit ClientImpl(const std::string &host, int port); explicit ClientImpl(const std::string &host, int port, - std::string client_cert_path, - std::string client_key_path); + const std::string &client_cert_path, + const std::string &client_key_path); virtual ~ClientImpl(); @@ -938,7 +937,7 @@ public: Result Get(const std::string &path, ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress); Result Get(const std::string &path, const Headers &headers, - ResponseHandler response_handler, const ContentReceiver& content_receiver, + ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress); Result Get(const std::string &path, const Params ¶ms, @@ -947,8 +946,8 @@ public: const Headers &headers, ContentReceiver content_receiver, Progress progress = nullptr); Result Get(const std::string &path, const Params ¶ms, - const Headers &headers, const ResponseHandler& response_handler, - const ContentReceiver& content_receiver, const Progress& progress = nullptr); + const Headers &headers, ResponseHandler response_handler, + ContentReceiver content_receiver, Progress progress = nullptr); Result Head(const std::string &path); Result Head(const std::string &path, const Headers &headers); @@ -1791,7 +1790,7 @@ void hosted_at(const std::string &hostname, std::vector &addrs); std::string append_query_params(const std::string &path, const Params ¶ms); -std::pair make_range_header(const Ranges& ranges); +std::pair make_range_header(Ranges ranges); std::pair make_basic_authentication_header(const std::string &username, @@ -1809,12 +1808,12 @@ void read_file(const std::string &path, std::string &out); std::string trim_copy(const std::string &s); void split(const char *b, const char *e, char d, - const std::function& fn); + std::function fn); bool process_client_socket(socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, time_t write_timeout_usec, - const std::function& callback); + std::function callback); socket_t create_client_socket( const std::string &host, const std::string &ip, int port, @@ -2232,8 +2231,8 @@ inline void read_file(const std::string &path, std::string &out) { fs.seekg(0, std::ios_base::end); auto size = fs.tellg(); fs.seekg(0); - out.resize(size); - fs.read(&out[0], size); + out.resize(static_cast(size)); + fs.read(&out[0], static_cast(size)); } inline std::string file_extension(const std::string &path) { @@ -2262,7 +2261,7 @@ inline std::string trim_copy(const std::string &s) { } inline void split(const char *b, const char *e, char d, - const std::function& fn) { + std::function fn) { size_t i = 0; size_t beg = 0; @@ -2625,7 +2624,7 @@ inline bool process_client_socket(socket_t sock, time_t read_timeout_sec, time_t read_timeout_usec, time_t write_timeout_sec, time_t write_timeout_usec, - const std::function& callback) { + std::function callback) { SocketStream strm(sock, read_timeout_sec, read_timeout_usec, write_timeout_sec, write_timeout_usec); return callback(strm); @@ -3038,7 +3037,7 @@ find_content_type(const std::string &path, case "svg"_t: return "image/svg+xml"; case "webp"_t: return "image/webp"; case "ico"_t: return "image/x-icon"; - case "tif"_t: + case "tif"_t: return "image/tiff"; case "tiff"_t: return "image/tiff"; case "jpg"_t: case "jpeg"_t: return "image/jpeg"; @@ -3489,8 +3488,8 @@ inline bool read_headers(Stream &strm, Headers &headers) { } inline bool read_content_with_length(Stream &strm, uint64_t len, - const Progress& progress, - const ContentReceiverWithProgress& out) { + Progress progress, + ContentReceiverWithProgress out) { char buf[CPPHTTPLIB_RECV_BUFSIZ]; uint64_t r = 0; @@ -3522,7 +3521,7 @@ inline void skip_content_with_length(Stream &strm, uint64_t len) { } inline bool read_content_without_length(Stream &strm, - const ContentReceiverWithProgress& out) { + ContentReceiverWithProgress out) { char buf[CPPHTTPLIB_RECV_BUFSIZ]; uint64_t r = 0; for (;;) { @@ -3984,12 +3983,12 @@ inline bool parse_range_header(const std::string &s, Ranges &ranges) try { if (std::regex_match(b, e, cm, re_another_range)) { ssize_t first = -1; if (!cm.str(1).empty()) { - first = std::stoll(cm.str(1)); + first = static_cast(std::stoll(cm.str(1))); } ssize_t last = -1; if (!cm.str(2).empty()) { - last = std::stoll(cm.str(2)); + last = static_cast(std::stoll(cm.str(2))); } if (first != -1 && last != -1 && first > last) { @@ -4255,8 +4254,9 @@ inline std::string make_multipart_data_boundary() { inline bool is_multipart_boundary_chars_valid(const std::string &boundary) { auto valid = true; - for (char c : boundary) { - if (!std::isalnum(c) && c != '-' && c != '_') { + for (size_t i = 0; i < boundary.size(); i++) { + auto c = boundary[i]; + if (!std::isalnum(c) && c != '-' && c != '_') { valid = false; break; } @@ -4707,7 +4707,7 @@ inline bool parse_www_authenticate(const Response &res, s = s.substr(pos + 1); auto beg = std::sregex_iterator(s.begin(), s.end(), re); for (auto i = beg; i != std::sregex_iterator(); ++i) { - const auto& m = *i; + auto m = *i; auto key = s.substr(static_cast(m.position(1)), static_cast(m.length(1))); auto val = m.length(2) > 0 @@ -4802,7 +4802,7 @@ inline std::string append_query_params(const std::string &path, } // Header utilities -inline std::pair make_range_header(const Ranges& ranges) { +inline std::pair make_range_header(Ranges ranges) { std::string field = "bytes="; auto i = 0; for (auto r : ranges) { @@ -4949,7 +4949,7 @@ inline void Response::set_content_provider( set_header("Content-Type", content_type); content_length_ = in_length; if (in_length > 0) { content_provider_ = std::move(provider); } - content_provider_resource_releaser_ = std::move(resource_releaser); + content_provider_resource_releaser_ = resource_releaser; is_chunked_content_provider_ = false; } @@ -4959,7 +4959,7 @@ inline void Response::set_content_provider( set_header("Content-Type", content_type); content_length_ = 0; content_provider_ = detail::ContentProviderAdapter(std::move(provider)); - content_provider_resource_releaser_ = std::move(resource_releaser); + content_provider_resource_releaser_ = resource_releaser; is_chunked_content_provider_ = false; } @@ -4969,7 +4969,7 @@ inline void Response::set_chunked_content_provider( set_header("Content-Type", content_type); content_length_ = 0; content_provider_ = detail::ContentProviderAdapter(std::move(provider)); - content_provider_resource_releaser_ = std::move(resource_releaser); + content_provider_resource_releaser_ = resource_releaser; is_chunked_content_provider_ = true; } @@ -5010,7 +5010,7 @@ inline SocketStream::SocketStream(socket_t sock, time_t read_timeout_sec, write_timeout_sec_(write_timeout_sec), write_timeout_usec_(write_timeout_usec), read_buff_(read_buff_size_, 0) {} -inline SocketStream::~SocketStream() = default; +inline SocketStream::~SocketStream() {} inline bool SocketStream::is_readable() const { return select_read(sock_, read_timeout_sec_, read_timeout_usec_) > 0; @@ -5101,7 +5101,7 @@ inline ssize_t BufferStream::read(char *ptr, size_t size) { #else auto len_read = buffer.copy(ptr, size, position); #endif - position += len_read; + position += static_cast(len_read); return static_cast(len_read); } @@ -5131,7 +5131,7 @@ inline Server::Server() #endif } -inline Server::~Server() = default; +inline Server::~Server() {} inline Server &Server::Get(const std::string &pattern, Handler handler) { get_handlers_.push_back( @@ -5241,7 +5241,7 @@ inline Server &Server::set_error_handler(HandlerWithResponse handler) { return *this; } -inline Server &Server::set_error_handler(const Handler& handler) { +inline Server &Server::set_error_handler(Handler handler) { error_handler_ = [handler](const Request &req, Response &res) { handler(req, res); return HandlerResponse::Handled; @@ -5618,7 +5618,7 @@ inline bool Server::read_content_with_content_receiver( } inline bool Server::read_content_core(Stream &strm, Request &req, Response &res, - const ContentReceiver& receiver, + ContentReceiver receiver, MultipartContentHeader multipart_header, ContentReceiver multipart_receiver) { detail::MultipartFormDataParser multipart_form_data_parser; @@ -5688,7 +5688,7 @@ inline bool Server::handle_file_request(const Request &req, Response &res, detail::find_content_type(path, file_extension_and_mimetype_map_); if (type) { res.set_header("Content-Type", type); } for (const auto &kv : entry.headers) { - res.set_header(kv.first, kv.second); + res.set_header(kv.first.c_str(), kv.second); } res.status = req.has_header("Range") ? 206 : 200; if (!head && file_request_handler_) { @@ -6024,7 +6024,7 @@ inline void Server::apply_ranges(const Request &req, Response &res, } inline bool Server::dispatch_request_for_content_reader( - Request &req, Response &res, const ContentReader& content_reader, + Request &req, Response &res, ContentReader content_reader, const HandlersForContentReader &handlers) { for (const auto &x : handlers) { const auto &pattern = x.first; @@ -6202,11 +6202,11 @@ inline ClientImpl::ClientImpl(const std::string &host, int port) : ClientImpl(host, port, std::string(), std::string()) {} inline ClientImpl::ClientImpl(const std::string &host, int port, - std::string client_cert_path, - std::string client_key_path) + const std::string &client_cert_path, + const std::string &client_key_path) : host_(host), port_(port), host_and_port_(adjust_host_string(host) + ":" + std::to_string(port)), - client_cert_path_(std::move(client_cert_path)), client_key_path_(std::move(client_key_path)) {} + client_cert_path_(client_cert_path), client_key_path_(client_key_path) {} inline ClientImpl::~ClientImpl() { std::lock_guard guard(socket_mutex_); @@ -6579,7 +6579,7 @@ inline bool ClientImpl::redirect(Request &req, Response &res, Error &error) { return false; #endif } else { - ClientImpl cli(next_host, next_port); + ClientImpl cli(next_host.c_str(), next_port); cli.copy_settings(*this); return detail::redirect(cli, req, res, path, location, error); } @@ -6941,7 +6941,7 @@ inline ContentProviderWithoutLength ClientImpl::get_multipart_content_provider( // state between successive calls return [&, cur_item, cur_start](size_t offset, DataSink &sink) mutable -> bool { - if (!offset && !items.empty()) { + if (!offset && items.size()) { sink.os << detail::serialize_multipart_formdata(items, boundary, false); return true; } else if (cur_item < provider_items.size()) { @@ -7056,7 +7056,7 @@ inline Result ClientImpl::Get(const std::string &path, inline Result ClientImpl::Get(const std::string &path, const Headers &headers, ResponseHandler response_handler, - const ContentReceiver& content_receiver, + ContentReceiver content_receiver, Progress progress) { Request req; req.method = "GET"; @@ -7078,27 +7078,27 @@ inline Result ClientImpl::Get(const std::string &path, const Params ¶ms, if (params.empty()) { return Get(path, headers); } std::string path_with_query = append_query_params(path, params); - return Get(path_with_query, headers, std::move(progress)); + return Get(path_with_query.c_str(), headers, progress); } inline Result ClientImpl::Get(const std::string &path, const Params ¶ms, const Headers &headers, ContentReceiver content_receiver, Progress progress) { - return Get(path, params, headers, nullptr, std::move(content_receiver), std::move(progress)); + return Get(path, params, headers, nullptr, content_receiver, progress); } inline Result ClientImpl::Get(const std::string &path, const Params ¶ms, const Headers &headers, - const ResponseHandler& response_handler, - const ContentReceiver& content_receiver, - const Progress& progress) { + ResponseHandler response_handler, + ContentReceiver content_receiver, + Progress progress) { if (params.empty()) { return Get(path, headers, response_handler, content_receiver, progress); } std::string path_with_query = append_query_params(path, params); - return Get(path_with_query, headers, response_handler, + return Get(path_with_query.c_str(), headers, response_handler, content_receiver, progress); } @@ -7201,7 +7201,7 @@ inline Result ClientImpl::Post(const std::string &path, const Headers &headers, const auto &content_type = detail::serialize_multipart_formdata_get_content_type(boundary); const auto &body = detail::serialize_multipart_formdata(items, boundary); - return Post(path, headers, body, content_type); + return Post(path, headers, body, content_type.c_str()); } inline Result ClientImpl::Post(const std::string &path, const Headers &headers, @@ -7214,7 +7214,7 @@ inline Result ClientImpl::Post(const std::string &path, const Headers &headers, const auto &content_type = detail::serialize_multipart_formdata_get_content_type(boundary); const auto &body = detail::serialize_multipart_formdata(items, boundary); - return Post(path, headers, body, content_type); + return Post(path, headers, body, content_type.c_str()); } inline Result @@ -8361,7 +8361,7 @@ inline Client::Client(const std::string &host, int port, : cli_(detail::make_unique(host, port, client_cert_path, client_key_path)) {} -inline Client::~Client() = default; +inline Client::~Client() {} inline bool Client::is_valid() const { return cli_ != nullptr && cli_->is_valid(); @@ -8421,19 +8421,19 @@ inline Result Client::Get(const std::string &path, const Headers &headers, } inline Result Client::Get(const std::string &path, const Params ¶ms, const Headers &headers, Progress progress) { - return cli_->Get(path, params, headers, std::move(progress)); + return cli_->Get(path, params, headers, progress); } inline Result Client::Get(const std::string &path, const Params ¶ms, const Headers &headers, ContentReceiver content_receiver, Progress progress) { - return cli_->Get(path, params, headers, std::move(content_receiver), std::move(progress)); + return cli_->Get(path, params, headers, content_receiver, progress); } inline Result Client::Get(const std::string &path, const Params ¶ms, const Headers &headers, ResponseHandler response_handler, ContentReceiver content_receiver, Progress progress) { - return cli_->Get(path, params, headers, std::move(response_handler), std::move(content_receiver), - std::move(progress)); + return cli_->Get(path, params, headers, response_handler, content_receiver, + progress); } inline Result Client::Head(const std::string &path) { return cli_->Head(path); } @@ -8754,7 +8754,7 @@ inline void Client::enable_server_certificate_verification(bool enabled) { } #endif -inline void Client::set_logger(Logger logger) { cli_->set_logger(std::move(logger)); } +inline void Client::set_logger(Logger logger) { cli_->set_logger(logger); } #ifdef CPPHTTPLIB_OPENSSL_SUPPORT inline void Client::set_ca_cert_path(const std::string &ca_cert_file_path,