Skip to content
Snippets Groups Projects
Commit 70c92d6c authored by Seva's avatar Seva Committed by Adrien Béraud
Browse files

http: replace service by url

parent fd7f6445
Branches
Tags
No related merge requests found
......@@ -142,7 +142,7 @@ public:
Resolver(asio::io_context& ctx, const std::string& url, std::shared_ptr<dht::Logger> logger = {});
Resolver(asio::io_context& ctx, const std::string& host, const std::string& service = "80",
std::shared_ptr<dht::Logger> logger = {});
const bool ssl = false, std::shared_ptr<dht::Logger> logger = {});
// use already resolved endpoints with classes using this resolver
Resolver(asio::io_context& ctx, std::vector<asio::ip::tcp::endpoint> endpoints,
......@@ -160,11 +160,10 @@ private:
std::mutex mutex_;
Url url_;
asio::error_code ec_;
std::string service_;
asio::ip::tcp::resolver resolver_;
std::vector<asio::ip::tcp::endpoint> endpoints_;
Url url_;
bool completed_ {false};
std::queue<ResolverCb> cbs_;
......@@ -196,7 +195,7 @@ public:
// resolves implicitly
Request(asio::io_context& ctx, const std::string& url, std::shared_ptr<dht::Logger> logger = {});
Request(asio::io_context& ctx, const std::string& host, const std::string& service = "80",
std::shared_ptr<dht::Logger> logger = {});
const bool ssl = false, std::shared_ptr<dht::Logger> logger = {});
// user defined resolver
Request(asio::io_context& ctx, std::shared_ptr<Resolver> resolver, std::shared_ptr<dht::Logger> logger = {});
......
......@@ -860,8 +860,8 @@ DhtProxyServer::sendPushNotification(const std::string& token, Json::Value&& jso
if (pushServer_.empty())
return;
auto request = std::make_shared<http::Request>(io_context(), pushHostPort_.first,
pushHostPort_.second, logger_);
auto request = std::make_shared<http::Request>(io_context(), pushHostPort_.first, pushHostPort_.second,
httpsServer_ ? true : false, logger_);
auto reqid = request->id();
try {
request->set_target("/api/push");
......
......@@ -306,26 +306,26 @@ Connection::timeout(const std::chrono::seconds timeout, HandlerCb cb)
// Resolver
Resolver::Resolver(asio::io_context& ctx, const std::string& url, std::shared_ptr<dht::Logger> logger)
: resolver_(ctx), url_(url), logger_(logger)
: url_(url), resolver_(ctx), logger_(logger)
{
service_ = url_.service;
resolve(url_.host, url_.service);
}
Resolver::Resolver(asio::io_context& ctx, const std::string& host, const std::string& service,
std::shared_ptr<dht::Logger> logger)
const bool ssl, std::shared_ptr<dht::Logger> logger)
: resolver_(ctx), logger_(logger)
{
service_ = service;
resolve(host, service);
url_.host = host;
url_.service = service;
url_.protocol = (ssl ? "https" : "http");
resolve(url_.host, url_.service);
}
Resolver::Resolver(asio::io_context& ctx, std::vector<asio::ip::tcp::endpoint> endpoints, const bool ssl,
std::shared_ptr<dht::Logger> logger)
: resolver_(ctx), logger_(logger)
{
if (ssl)
url_.protocol = "https";
url_.protocol = (ssl ? "https" : "http");
endpoints_ = std::move(endpoints);
completed_ = true;
}
......@@ -351,12 +351,6 @@ Resolver::get_url() const
return url_;
}
std::string
Resolver::get_service() const
{
return service_;
}
void
Resolver::add_callback(ResolverCb cb)
{
......@@ -420,11 +414,11 @@ Request::Request(asio::io_context& ctx, const std::string& url, std::shared_ptr<
}
Request::Request(asio::io_context& ctx, const std::string& host, const std::string& service,
std::shared_ptr<dht::Logger> logger)
const bool ssl, std::shared_ptr<dht::Logger> logger)
: id_(Request::ids_++), ctx_(ctx), logger_(logger)
{
cbs_ = std::make_unique<Callbacks>();
resolver_ = std::make_shared<Resolver>(ctx, host, service, logger_);
resolver_ = std::make_shared<Resolver>(ctx, host, service, ssl, logger_);
set_target(resolver_->get_url().target);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment