rename error to get_error. remove is_ready and is_running functions.

This commit is contained in:
2019-06-30 08:55:41 +07:00
parent 15b9d5e359
commit d1917e8fe2
4 changed files with 15 additions and 53 deletions

View File

@@ -141,7 +141,7 @@ if ( request.wait() == net::request::statuses::done ) {
// throws net::exception because a response is unavailable
// 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

View File

@@ -137,11 +137,8 @@ namespace curly_hpp
statuses wait() const noexcept;
statuses status() const noexcept;
bool is_ready() const noexcept;
bool is_running() const noexcept;
response get();
const std::string& error() const noexcept;
const std::string& get_error() const noexcept;
private:
internal_state_ptr state_;
};

View File

@@ -513,16 +513,6 @@ namespace curly_hpp
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 {
std::lock_guard<std::mutex> guard(mutex_);
return status_;
@@ -540,7 +530,7 @@ namespace curly_hpp
return std::move(response_);
}
const std::string& error() const noexcept {
const std::string& get_error() const noexcept {
std::unique_lock<std::mutex> lock(mutex_);
cvar_.wait(lock, [this](){
return status_ != statuses::pending;
@@ -663,20 +653,12 @@ namespace curly_hpp
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() {
return state_->get();
}
const std::string& request::error() const noexcept {
return state_->error();
const std::string& request::get_error() const noexcept {
return state_->get_error();
}
}
@@ -921,7 +903,7 @@ namespace curly_hpp
curl_state::with([](CURLM* curlm){
for ( auto iter = active_handles.begin(); iter != active_handles.end(); ) {
if ( (*iter)->is_ready() ) {
if ( (*iter)->status() != request::statuses::pending ) {
(*iter)->dequeue(curlm);
iter = active_handles.erase(iter);
} else {

View File

@@ -74,7 +74,7 @@ TEST_CASE("curly") {
auto req = net::request_builder("|||").send();
REQUIRE(req.wait() == net::request::statuses::failed);
REQUIRE(req.status() == net::request::statuses::failed);
REQUIRE_FALSE(req.error().empty());
REQUIRE_FALSE(req.get_error().empty());
}
SECTION("cancel") {
@@ -82,31 +82,14 @@ TEST_CASE("curly") {
auto req = net::request_builder("https://httpbin.org/delay/1").send();
REQUIRE(req.cancel());
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();
REQUIRE(req.wait() == net::request::statuses::done);
REQUIRE_FALSE(req.cancel());
REQUIRE(req.status() == net::request::statuses::done);
REQUIRE(req.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());
REQUIRE(req.get_error().empty());
}
}
@@ -286,7 +269,7 @@ TEST_CASE("curly") {
.send();
const auto resp = req.get();
REQUIRE(resp.content.as_string_view() == "HTTPBIN is awesome");
REQUIRE(req.error().empty());
REQUIRE(req.get_error().empty());
}
{
auto req0 = net::request_builder()
@@ -294,14 +277,14 @@ TEST_CASE("curly") {
.request_timeout(net::time_sec_t(0))
.send();
REQUIRE(req0.wait() == net::request::statuses::timeout);
REQUIRE_FALSE(req0.error().empty());
REQUIRE_FALSE(req0.get_error().empty());
auto req1 = net::request_builder()
.url("https://httpbin.org/delay/10")
.response_timeout(net::time_sec_t(0))
.send();
REQUIRE(req1.wait() == net::request::statuses::timeout);
REQUIRE_FALSE(req1.error().empty());
REQUIRE_FALSE(req1.get_error().empty());
}
{
auto req0 = net::request_builder()
@@ -309,14 +292,14 @@ TEST_CASE("curly") {
.request_timeout(net::time_sec_t(1))
.send();
REQUIRE(req0.wait() == net::request::statuses::timeout);
REQUIRE_FALSE(req0.error().empty());
REQUIRE_FALSE(req0.get_error().empty());
auto req1 = net::request_builder()
.url("https://httpbin.org/delay/10")
.response_timeout(net::time_sec_t(1))
.send();
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
// 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