| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- //
- // HTTPSTestServer.h
- //
- // Definition of the HTTPSTestServer class.
- //
- // Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
- // and Contributors.
- //
- // SPDX-License-Identifier: BSL-1.0
- //
- #ifndef HTTPSTestServer_INCLUDED
- #define HTTPSTestServer_INCLUDED
- #include "Poco/Net/Net.h"
- #include "Poco/Net/SecureServerSocket.h"
- #include "Poco/Thread.h"
- #include "Poco/Event.h"
- class HTTPSTestServer: public Poco::Runnable
- /// A simple sequential echo server.
- {
- public:
- HTTPSTestServer();
- /// Creates the HTTPSTestServer.
- explicit HTTPSTestServer(Poco::Net::Context::Ptr pContext);
- /// Creates the HTTPSTestServer using the given Context.
- ~HTTPSTestServer();
- /// Destroys the HTTPSTestServer.
- Poco::UInt16 port() const;
- /// Returns the port the echo server is
- /// listening on.
-
- void run();
- /// Does the work.
-
- const std::string& lastRequest() const;
- /// Returns the last request.
- static const std::string SMALL_BODY;
- static const std::string LARGE_BODY;
- protected:
- bool requestComplete() const;
- std::string handleRequest() const;
- private:
- Poco::Net::SecureServerSocket _socket;
- Poco::Thread _thread;
- Poco::Event _ready;
- std::atomic<bool> _stop;
- std::string _lastRequest;
- };
- #endif // HTTPSTestServer_INCLUDED
|