File: PipeliningTest.h

package info (click to toggle)
drogon 1.9.0%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 4,096 kB
  • sloc: cpp: 52,222; sh: 249; xml: 20; makefile: 11
file content (33 lines) | stat: -rw-r--r-- 1,168 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once
#include <drogon/HttpController.h>
using namespace drogon;

// class PipeliningTest : public drogon::HttpSimpleController<PipeliningTest>
//{
//   public:
//     virtual void asyncHandleHttpRequest(
//         const HttpRequestPtr &req,
//         std::function<void(const HttpResponsePtr &)> &&callback) override;
//     PATH_LIST_BEGIN
//     // list path definitions here;
//     PATH_ADD("/pipe", Get);
//     PATH_LIST_END
// };

class PipeliningTest : public drogon::HttpController<PipeliningTest>
{
  public:
    METHOD_LIST_BEGIN
    ADD_METHOD_TO(PipeliningTest::normalPipe, "/pipe", Get);
    ADD_METHOD_TO(PipeliningTest::strangePipe1, "/pipe/strange-1", Get);
    ADD_METHOD_TO(PipeliningTest::strangePipe2, "/pipe/strange-2", Get);
    METHOD_LIST_END

    void normalPipe(
        const HttpRequestPtr &req,
        std::function<void(const HttpResponsePtr &)> &&callback) const;
    void strangePipe1(const HttpRequestPtr &req,
                      std::function<void(const HttpResponsePtr &)> &&callback);
    void strangePipe2(const HttpRequestPtr &req,
                      std::function<void(const HttpResponsePtr &)> &&callback);
};