buffet: extract useful error code definitionss into a separate file
Moved json parser error information from http_utils into its own
file, error_codes.h/.cc, where all future common error codes would
go.
BUG=None
TEST=USE=buffet P2_TEST_FILTER="buffet::*" FEATURES=test emerge-link platform2
Change-Id: Ie5457cedc248612ab512a7161b1fc2cb75758ac5
Reviewed-on: https://chromium-review.googlesource.com/209248
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/http_utils.cc b/buffet/http_utils.cc
index f7f1190..3924505 100644
--- a/buffet/http_utils.cc
+++ b/buffet/http_utils.cc
@@ -10,14 +10,13 @@
#include <base/json/json_writer.h>
#include <base/values.h>
-#include "buffet/mime_utils.h"
#include "buffet/data_encoding.h"
+#include "buffet/error_codes.h"
+#include "buffet/mime_utils.h"
namespace buffet {
namespace http {
-const char kErrorDomainJSON[] = "json_parser";
-
std::unique_ptr<Response> Get(const std::string& url,
const HeaderList& headers,
std::shared_ptr<Transport> transport,
@@ -140,7 +139,7 @@
auto content_type = mime::RemoveParameters(response->GetContentType());
if (content_type != mime::application::kJson &&
content_type != mime::text::kPlain) {
- Error::AddTo(error, kErrorDomainJSON, "non_json_content_type",
+ Error::AddTo(error, errors::json::kDomain, "non_json_content_type",
"Unexpected response content type: " + content_type);
return std::unique_ptr<base::DictionaryValue>();
}
@@ -150,13 +149,14 @@
base::Value* value = base::JSONReader::ReadAndReturnError(
json, base::JSON_PARSE_RFC, nullptr, &error_message);
if (!value) {
- Error::AddTo(error, kErrorDomainJSON, "json_parse_error", error_message);
+ Error::AddTo(error, errors::json::kDomain, errors::json::kParseError,
+ error_message);
return std::unique_ptr<base::DictionaryValue>();
}
base::DictionaryValue* dict_value = nullptr;
if (!value->GetAsDictionary(&dict_value)) {
delete value;
- Error::AddTo(error, kErrorDomainJSON, "json_object_error",
+ Error::AddTo(error, errors::json::kDomain, errors::json::kObjectExpected,
"Response is not a valid JSON object");
return std::unique_ptr<base::DictionaryValue>();
}