Add Visione backend foundation
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#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
|
||||
|
||||
Reference in New Issue
Block a user