Files
2026-06-25 15:44:25 +08:00

33 lines
966 B
C++

#include <drogon/drogon.h>
using namespace drogon;
class GlobalMid : public HttpMiddleware<GlobalMid, false> {
public:
void invoke(const HttpRequestPtr &req, MiddlewareNextCallback &&next,
MiddlewareCallback &&done) override {
LOG_DEBUG << "进入全局中间件:" << req->path();
next([done](auto resp) {
resp->addHeader("X-Global", "Yes");
LOG_DEBUG << "离开全局中间件";
done(resp);
});
}
};
int main() {
app().registerMiddleware(std::make_shared<GlobalMid>());
app().registerHandler("/hello",
[](const HttpRequestPtr &request,
std::function<void(const HttpResponsePtr &)> &&cb) {
auto resp = HttpResponse::newHttpResponse();
resp->setBody("OK");
cb(resp);
},
{Get});
app().addListener("0.0.0.0", 80);
app().run();
}