10Duke Scale C++ Client
Loading...
Searching...
No Matches
FakeHttpServer.h
1#ifndef TENDUKE_TEST_FAKES_FAKEHTTPSERVER_H
2#define TENDUKE_TEST_FAKES_FAKEHTTPSERVER_H
3
4#include "./FakeSocket.h"
5
6#include "http/server/AbstractHTTPServer.h"
7
8#include <chrono>
9#include <deque>
10#include <memory>
11#include <mutex>
12#include <string>
13#include <vector>
14
15namespace tenduke { namespace test { namespace fakes {
16
18{
19public:
21 const std::shared_ptr<std::vector<std::string>> &requestedUrls,
22 const std::shared_ptr<std::vector<std::shared_ptr<tenduke::test::fakes::FakeSocket>>> &responseSockets,
23 const std::chrono::milliseconds &maxLifeTime = std::chrono::seconds(30)
24 );
25
26public:
27 uint16_t getPort() override;
28 void start() override;
29
30public:
31 void requestTo(const std::string &requestTarget);
32 bool isRunning() const;
33
34public:
35 std::chrono::milliseconds maxLifeTime;
36 const std::shared_ptr<std::deque<std::string>> requestQueue;
37
38private:
39 const std::shared_ptr<std::vector<std::string>> requestedUrls;
40 const std::shared_ptr<std::vector<std::shared_ptr<tenduke::test::fakes::FakeSocket>>> responseSockets;
41 std::mutex lockRequestQueue;
42};
43
44}}}
45
46#endif //TENDUKE_TEST_FAKES_FAKEHTTPSERVER_H
Abstract base class of a HTTP server.
Definition AbstractHTTPServer.h:20
Definition FakeHttpServer.h:18
void start() override
Starts the server.
Definition FakeHttpServer.cpp:17
uint16_t getPort() override
Returns the port where this simple server is listening.
Definition FakeHttpServer.cpp:12
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7