复现已有算法
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
#include "BenchmarkCtrl.h"
|
||||
|
||||
void BenchmarkCtrl::asyncHandleHttpRequest(
|
||||
const HttpRequestPtr &,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
// write your application logic here
|
||||
auto resp = HttpResponse::newHttpResponse();
|
||||
resp->setBody("<p>Hello, world!</p>");
|
||||
resp->setExpiredTime(0);
|
||||
callback(resp);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
#include <drogon/HttpSimpleController.h>
|
||||
using namespace drogon;
|
||||
|
||||
class BenchmarkCtrl : public drogon::HttpSimpleController<BenchmarkCtrl>
|
||||
{
|
||||
public:
|
||||
void asyncHandleHttpRequest(
|
||||
const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback) override;
|
||||
PATH_LIST_BEGIN
|
||||
PATH_ADD("/benchmark", Get);
|
||||
PATH_LIST_END
|
||||
};
|
||||
@@ -0,0 +1,11 @@
|
||||
#include "JsonCtrl.h"
|
||||
|
||||
void JsonCtrl::asyncHandleHttpRequest(
|
||||
const HttpRequestPtr &,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback)
|
||||
{
|
||||
Json::Value ret;
|
||||
ret["message"] = "Hello, World!";
|
||||
auto resp = HttpResponse::newHttpJsonResponse(std::move(ret));
|
||||
callback(resp);
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
#include <drogon/HttpSimpleController.h>
|
||||
using namespace drogon;
|
||||
|
||||
class JsonCtrl : public drogon::HttpSimpleController<JsonCtrl>
|
||||
{
|
||||
public:
|
||||
void asyncHandleHttpRequest(
|
||||
const HttpRequestPtr &req,
|
||||
std::function<void(const HttpResponsePtr &)> &&callback) override;
|
||||
PATH_LIST_BEGIN
|
||||
// list path definitions here;
|
||||
PATH_ADD("/json", Get);
|
||||
PATH_LIST_END
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
#include <drogon/drogon.h>
|
||||
|
||||
using namespace drogon;
|
||||
|
||||
int main()
|
||||
{
|
||||
app()
|
||||
.setLogPath("./")
|
||||
.setLogLevel(trantor::Logger::kWarn)
|
||||
.addListener("0.0.0.0", 7770)
|
||||
.setThreadNum(0)
|
||||
.registerSyncAdvice([](const HttpRequestPtr &req) -> HttpResponsePtr {
|
||||
const auto &path = req->path();
|
||||
if (path.length() == 1 && path[0] == '/')
|
||||
{
|
||||
auto response = HttpResponse::newHttpResponse();
|
||||
response->setBody("<p>Hello, world!</p>");
|
||||
return response;
|
||||
}
|
||||
return nullptr;
|
||||
})
|
||||
.run();
|
||||
}
|
||||
Reference in New Issue
Block a user