diff --git a/src/aur/client.cc b/src/aur/client.cc index f2474d4..13c44a7 100644 --- a/src/aur/client.cc +++ b/src/aur/client.cc @@ -2,7 +2,6 @@ #include "aur/client.hh" #include -#include #include #include @@ -189,16 +188,12 @@ class TypedResponseHandler : public ResponseHandler { : ResponseHandler(client), callback_(std::move(callback)) {} protected: - absl::StatusOr MakeResponse() { - return ResponseT::Parse(std::move(body)); - } - int RunCallback(absl::Status status) override { - if (status.ok()) { - return std::move(callback_)(MakeResponse()); - } else { + if (!status.ok()) { return std::move(callback_)(std::move(status)); } + + return std::move(callback_)(ResponseT::Parse(std::move(body))); } private: diff --git a/src/aur/response.cc b/src/aur/response.cc index b878811..fd0f31a 100644 --- a/src/aur/response.cc +++ b/src/aur/response.cc @@ -1,7 +1,6 @@ // SPDX-License-Identifier: MIT #include "aur/response.hh" -#include "absl/base/no_destructor.h" #include "aur/json_internal.hh" using nlohmann::json; @@ -10,9 +9,9 @@ namespace aur { absl::StatusOr RpcResponse::Parse(std::string_view bytes) { try { - json j = json::parse(bytes); - if (auto iter = j.find("error"); iter != j.end()) { - return absl::InvalidArgumentError(iter->get()); + const json j = json::parse(bytes); + if (const auto iter = j.find("error"); iter != j.end()) { + return absl::InvalidArgumentError(iter->get()); } return RpcResponse(j["results"].get>()); diff --git a/src/aur/response.hh b/src/aur/response.hh index 7e7b15e..65b81fb 100644 --- a/src/aur/response.hh +++ b/src/aur/response.hh @@ -2,7 +2,10 @@ #ifndef AUR_RESPONSE_HH_ #define AUR_RESPONSE_HH_ -#include "absl/status/status.h" +#include +#include +#include + #include "absl/status/statusor.h" #include "aur/package.hh"