Make codebase consistent with design.md

This commit is contained in:
2025-08-17 17:00:23 -04:00
parent 1b1b875a3a
commit 9e397d19c9
11 changed files with 154 additions and 75 deletions

View File

@@ -87,10 +87,28 @@ int main(int argc, char *argv[]) {
})";
auto copy = sample_json;
if (parser.parse(request, copy.data(), copy.size())) {
auto parse_result = parser.parse(request, copy.data(), copy.size());
if (parse_result == CommitRequestParser::ParseResult::Success) {
print_stats(request);
} else {
std::cout << "✗ Failed to parse commit request" << std::endl;
std::cout << "✗ Failed to parse commit request: ";
switch (parse_result) {
case CommitRequestParser::ParseResult::InvalidJson:
std::cout << "Invalid JSON format" << std::endl;
break;
case CommitRequestParser::ParseResult::MissingField:
std::cout << "Missing required field" << std::endl;
break;
case CommitRequestParser::ParseResult::InvalidField:
std::cout << "Invalid field value" << std::endl;
break;
case CommitRequestParser::ParseResult::OutOfMemory:
std::cout << "Out of memory" << std::endl;
break;
default:
std::cout << "Unknown error" << std::endl;
break;
}
}
// Demonstrate streaming parsing