#include "common/Http.h" namespace visione::http { drogon::HttpResponsePtr json(Json::Value body, drogon::HttpStatusCode status) { auto response = drogon::HttpResponse::newHttpJsonResponse(std::move(body)); response->setStatusCode(status); return response; } drogon::HttpResponsePtr error(const std::string &code, drogon::HttpStatusCode status, const std::string &message) { Json::Value body; body["error"] = code; if (!message.empty()) { body["message"] = message; } return json(std::move(body), status); } Json::Value requireJson(const drogon::HttpRequestPtr &request) { const auto &body = request->getJsonObject(); if (!body) { return Json::Value(Json::nullValue); } return *body; } } // namespace visione::http