mirror of
https://github.com/BlackMATov/curly.hpp.git
synced 2025-12-15 12:19:47 +07:00
rename error to get_error. remove is_ready and is_running functions.
This commit is contained in:
@@ -141,7 +141,7 @@ if ( request.wait() == net::request::statuses::done ) {
|
|||||||
// throws net::exception because a response is unavailable
|
// throws net::exception because a response is unavailable
|
||||||
// auto response = request.get();
|
// auto response = request.get();
|
||||||
|
|
||||||
std::cout << "Error message: " << request.error() << std::endl;
|
std::cout << "Error message: " << request.get_error() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error message: Couldn't resolve host name
|
// Error message: Couldn't resolve host name
|
||||||
|
|||||||
@@ -137,11 +137,8 @@ namespace curly_hpp
|
|||||||
statuses wait() const noexcept;
|
statuses wait() const noexcept;
|
||||||
statuses status() const noexcept;
|
statuses status() const noexcept;
|
||||||
|
|
||||||
bool is_ready() const noexcept;
|
|
||||||
bool is_running() const noexcept;
|
|
||||||
|
|
||||||
response get();
|
response get();
|
||||||
const std::string& error() const noexcept;
|
const std::string& get_error() const noexcept;
|
||||||
private:
|
private:
|
||||||
internal_state_ptr state_;
|
internal_state_ptr state_;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -513,16 +513,6 @@ namespace curly_hpp
|
|||||||
return status_;
|
return status_;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_ready() const noexcept {
|
|
||||||
std::lock_guard<std::mutex> guard(mutex_);
|
|
||||||
return status_ != statuses::pending;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool is_running() const noexcept {
|
|
||||||
std::lock_guard<std::mutex> guard(mutex_);
|
|
||||||
return status_ == statuses::pending;
|
|
||||||
}
|
|
||||||
|
|
||||||
statuses status() const noexcept {
|
statuses status() const noexcept {
|
||||||
std::lock_guard<std::mutex> guard(mutex_);
|
std::lock_guard<std::mutex> guard(mutex_);
|
||||||
return status_;
|
return status_;
|
||||||
@@ -540,7 +530,7 @@ namespace curly_hpp
|
|||||||
return std::move(response_);
|
return std::move(response_);
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string& error() const noexcept {
|
const std::string& get_error() const noexcept {
|
||||||
std::unique_lock<std::mutex> lock(mutex_);
|
std::unique_lock<std::mutex> lock(mutex_);
|
||||||
cvar_.wait(lock, [this](){
|
cvar_.wait(lock, [this](){
|
||||||
return status_ != statuses::pending;
|
return status_ != statuses::pending;
|
||||||
@@ -663,20 +653,12 @@ namespace curly_hpp
|
|||||||
return state_->status();
|
return state_->status();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool request::is_ready() const noexcept {
|
|
||||||
return state_->is_ready();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool request::is_running() const noexcept {
|
|
||||||
return state_->is_running();
|
|
||||||
}
|
|
||||||
|
|
||||||
response request::get() {
|
response request::get() {
|
||||||
return state_->get();
|
return state_->get();
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::string& request::error() const noexcept {
|
const std::string& request::get_error() const noexcept {
|
||||||
return state_->error();
|
return state_->get_error();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -921,7 +903,7 @@ namespace curly_hpp
|
|||||||
|
|
||||||
curl_state::with([](CURLM* curlm){
|
curl_state::with([](CURLM* curlm){
|
||||||
for ( auto iter = active_handles.begin(); iter != active_handles.end(); ) {
|
for ( auto iter = active_handles.begin(); iter != active_handles.end(); ) {
|
||||||
if ( (*iter)->is_ready() ) {
|
if ( (*iter)->status() != request::statuses::pending ) {
|
||||||
(*iter)->dequeue(curlm);
|
(*iter)->dequeue(curlm);
|
||||||
iter = active_handles.erase(iter);
|
iter = active_handles.erase(iter);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ TEST_CASE("curly") {
|
|||||||
auto req = net::request_builder("|||").send();
|
auto req = net::request_builder("|||").send();
|
||||||
REQUIRE(req.wait() == net::request::statuses::failed);
|
REQUIRE(req.wait() == net::request::statuses::failed);
|
||||||
REQUIRE(req.status() == net::request::statuses::failed);
|
REQUIRE(req.status() == net::request::statuses::failed);
|
||||||
REQUIRE_FALSE(req.error().empty());
|
REQUIRE_FALSE(req.get_error().empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("cancel") {
|
SECTION("cancel") {
|
||||||
@@ -82,31 +82,14 @@ TEST_CASE("curly") {
|
|||||||
auto req = net::request_builder("https://httpbin.org/delay/1").send();
|
auto req = net::request_builder("https://httpbin.org/delay/1").send();
|
||||||
REQUIRE(req.cancel());
|
REQUIRE(req.cancel());
|
||||||
REQUIRE(req.status() == net::request::statuses::canceled);
|
REQUIRE(req.status() == net::request::statuses::canceled);
|
||||||
REQUIRE(req.error().empty());
|
REQUIRE(req.get_error().empty());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
auto req = net::request_builder("https://httpbin.org/status/200").send();
|
auto req = net::request_builder("https://httpbin.org/status/200").send();
|
||||||
REQUIRE(req.wait() == net::request::statuses::done);
|
REQUIRE(req.wait() == net::request::statuses::done);
|
||||||
REQUIRE_FALSE(req.cancel());
|
REQUIRE_FALSE(req.cancel());
|
||||||
REQUIRE(req.status() == net::request::statuses::done);
|
REQUIRE(req.status() == net::request::statuses::done);
|
||||||
REQUIRE(req.error().empty());
|
REQUIRE(req.get_error().empty());
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SECTION("is_ready/is_running") {
|
|
||||||
{
|
|
||||||
auto req = net::request_builder("https://httpbin.org/delay/1").send();
|
|
||||||
REQUIRE(req.is_running());
|
|
||||||
REQUIRE_FALSE(req.is_ready());
|
|
||||||
REQUIRE(req.cancel());
|
|
||||||
REQUIRE_FALSE(req.is_running());
|
|
||||||
REQUIRE(req.is_ready());
|
|
||||||
}
|
|
||||||
{
|
|
||||||
auto req = net::request_builder("https://httpbin.org/status/200").send();
|
|
||||||
REQUIRE(req.wait() == net::request::statuses::done);
|
|
||||||
REQUIRE(req.is_ready());
|
|
||||||
REQUIRE_FALSE(req.is_running());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -286,7 +269,7 @@ TEST_CASE("curly") {
|
|||||||
.send();
|
.send();
|
||||||
const auto resp = req.get();
|
const auto resp = req.get();
|
||||||
REQUIRE(resp.content.as_string_view() == "HTTPBIN is awesome");
|
REQUIRE(resp.content.as_string_view() == "HTTPBIN is awesome");
|
||||||
REQUIRE(req.error().empty());
|
REQUIRE(req.get_error().empty());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
auto req0 = net::request_builder()
|
auto req0 = net::request_builder()
|
||||||
@@ -294,14 +277,14 @@ TEST_CASE("curly") {
|
|||||||
.request_timeout(net::time_sec_t(0))
|
.request_timeout(net::time_sec_t(0))
|
||||||
.send();
|
.send();
|
||||||
REQUIRE(req0.wait() == net::request::statuses::timeout);
|
REQUIRE(req0.wait() == net::request::statuses::timeout);
|
||||||
REQUIRE_FALSE(req0.error().empty());
|
REQUIRE_FALSE(req0.get_error().empty());
|
||||||
|
|
||||||
auto req1 = net::request_builder()
|
auto req1 = net::request_builder()
|
||||||
.url("https://httpbin.org/delay/10")
|
.url("https://httpbin.org/delay/10")
|
||||||
.response_timeout(net::time_sec_t(0))
|
.response_timeout(net::time_sec_t(0))
|
||||||
.send();
|
.send();
|
||||||
REQUIRE(req1.wait() == net::request::statuses::timeout);
|
REQUIRE(req1.wait() == net::request::statuses::timeout);
|
||||||
REQUIRE_FALSE(req1.error().empty());
|
REQUIRE_FALSE(req1.get_error().empty());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
auto req0 = net::request_builder()
|
auto req0 = net::request_builder()
|
||||||
@@ -309,14 +292,14 @@ TEST_CASE("curly") {
|
|||||||
.request_timeout(net::time_sec_t(1))
|
.request_timeout(net::time_sec_t(1))
|
||||||
.send();
|
.send();
|
||||||
REQUIRE(req0.wait() == net::request::statuses::timeout);
|
REQUIRE(req0.wait() == net::request::statuses::timeout);
|
||||||
REQUIRE_FALSE(req0.error().empty());
|
REQUIRE_FALSE(req0.get_error().empty());
|
||||||
|
|
||||||
auto req1 = net::request_builder()
|
auto req1 = net::request_builder()
|
||||||
.url("https://httpbin.org/delay/10")
|
.url("https://httpbin.org/delay/10")
|
||||||
.response_timeout(net::time_sec_t(1))
|
.response_timeout(net::time_sec_t(1))
|
||||||
.send();
|
.send();
|
||||||
REQUIRE(req1.wait() == net::request::statuses::timeout);
|
REQUIRE(req1.wait() == net::request::statuses::timeout);
|
||||||
REQUIRE_FALSE(req1.error().empty());
|
REQUIRE_FALSE(req1.get_error().empty());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -593,7 +576,7 @@ TEST_CASE("curly_examples") {
|
|||||||
// throws net::exception because a response is unavailable
|
// throws net::exception because a response is unavailable
|
||||||
// auto response = request.get();
|
// auto response = request.get();
|
||||||
|
|
||||||
std::cout << "Error message: " << request.error() << std::endl;
|
std::cout << "Error message: " << request.get_error() << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error message: Couldn't resolve host name
|
// Error message: Couldn't resolve host name
|
||||||
|
|||||||
Reference in New Issue
Block a user