add a count parsing request to the ProcessRequest GET

This commit is contained in:
Andrey Kutin 2026-07-19 14:41:29 +03:00
parent c095982797
commit 123f180a6d
2 changed files with 12 additions and 0 deletions

View File

@ -41,6 +41,17 @@ void HttpSession::processRequest(http::request<http::string_body>&& request) {
// Получаем случайный объект из БД
json response = db->getRandomRecord();
res.body() = response.dump(4);
} else if (request.method() == http::verb::get && request.target().starts_with("/cards")) {
std::string number{request.target()};
auto start = number.find("?count=") + 7;
auto end number.find("?", start);
if (end == std::string::npos) {
end = number.length();
}
int count = std::stoi(target.substr(start, end - start));
count = std::max(1, std::min(count, 1000)); // валидация
json response = db->getRandomRecords(count, 10, 1000);
res.body() = response.dump(4);
} else if (request.method() == http::verb::get && request.target() == "/health") {
json response = {
{"status", "ok"},

View File

@ -8,6 +8,7 @@
#include <memory>
#include <thread>
#include <vector>
#include <string>
#include "common.hpp"
#include "database.hpp"