summaryrefslogtreecommitdiff
path: root/src/protocols/httpserver.cpp
diff options
context:
space:
mode:
authorNikita Kostovsky <nikita@kostovsky.me>2025-11-17 16:28:45 +0100
committerNikita Kostovsky <nikita@kostovsky.me>2025-11-17 16:28:45 +0100
commit0fdae0386e2e55f489853561dc15055a168e5df1 (patch)
treeb91087c4696a3281fee528fc838b5447272432e0 /src/protocols/httpserver.cpp
parent99b78ccb9cdb82d64aa3da32dd47b052d3f51732 (diff)
introduce Scanner
Diffstat (limited to 'src/protocols/httpserver.cpp')
-rw-r--r--src/protocols/httpserver.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/protocols/httpserver.cpp b/src/protocols/httpserver.cpp
index f1b562e..d10518b 100644
--- a/src/protocols/httpserver.cpp
+++ b/src/protocols/httpserver.cpp
@@ -28,8 +28,14 @@ HttpServer::HttpServer(std::shared_ptr<ICamera> camera,
: IProtocol{camera}
, INIT_FIELD(address)
, INIT_FIELD(port)
- , m_server{std::make_shared<QHttpServer>()}
+// , m_server{std::make_shared<QHttpServer>()}
{
+}
+
+bool HttpServer::start()
+{
+ m_server = std::make_shared<QHttpServer>();
+
// TODO: move these vars outside
const auto apiPrefix = QStringLiteral("/v1");
const auto pixelsPath = apiPrefix + "/pixels";
@@ -52,7 +58,20 @@ HttpServer::HttpServer(std::shared_ptr<ICamera> camera,
QHttpServerRequest::Method::Get,
[this]() { return GET_image(); });
- qDebug().noquote() << Q_FUNC_INFO << ": listen: " << m_server->listen(m_address, m_port);
+ const auto result = m_server->listen(m_address, m_port);
+
+ qDebug().noquote() << Q_FUNC_INFO << ": listen: " << result;
+
+ if (!result) {
+ m_server.reset();
+ }
+
+ return result;
+}
+
+void HttpServer::stop()
+{
+ m_server.reset();
}
QHttpServerResponse HttpServer::GET_image()