adaptation to qt 6.8
This commit is contained in:
1 parent
4950608291
commit
dcca754a78
2 files changed
+46
-6
No files matched your search
+40
-6
@@ -6,6 +6,7 @@
|
|||||||
#include <QList>
|
#include <QList>
|
||||||
#include <QtHttpServer/QHttpServer>
|
#include <QtHttpServer/QHttpServer>
|
||||||
#include <QtHttpServer/QHttpServerRequest>
|
#include <QtHttpServer/QHttpServerRequest>
|
||||||
|
#include <QtHttpServer/QHttpServerResponder>
|
||||||
#include <QtMath>
|
#include <QtMath>
|
||||||
#include <QImage>
|
#include <QImage>
|
||||||
#include <QTransform>
|
#include <QTransform>
|
||||||
@@ -87,20 +88,32 @@ Pws2mqtt::~Pws2mqtt()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void missingHandler(const QHttpServerRequest &request, QHttpServerResponder &responder)
|
||||||
|
{
|
||||||
|
QString message = QString("404 Not Found: %1 n'existe pas").arg(request.url().path());
|
||||||
|
responder.sendResponse(QHttpServerResponse("text/plain; charset=utf-8", message.toUtf8(), QHttpServerResponder::StatusCode::NotFound));
|
||||||
|
}
|
||||||
|
|
||||||
void Pws2mqtt::init()
|
void Pws2mqtt::init()
|
||||||
{
|
{
|
||||||
debug(DEBUGMACRO, "init http server", INFO);
|
debug(DEBUGMACRO, "init http server", INFO);
|
||||||
httpServer->setMissingHandler([](const QHttpServerRequest &request, QHttpServerResponder &&responder)
|
|
||||||
{
|
httpServer->setMissingHandler(httpServer, missingHandler);
|
||||||
|
// httpServer->setMissingHandler([](const QHttpServerRequest &request, QHttpServerResponder &&responder)
|
||||||
|
/* {
|
||||||
(void) responder;
|
(void) responder;
|
||||||
debug(DEBUGMACRO, "body " + request.url().toString(), WARNING);
|
debug(DEBUGMACRO, "body " + request.url().toString(), WARNING);
|
||||||
return QHttpServerResponse("404 - Page non trouvée. Route par défaut.", QHttpServerResponse::StatusCode::NotFound);
|
return QHttpServerResponse("404 - Page non trouvée. Route par défaut.", QHttpServerResponse::StatusCode::NotFound);
|
||||||
//responder.write(QHttpServerResponse("404 - Page non trouvée. Route par défaut.", QHttpServerResponse::StatusCode::NotFound));
|
//responder.write(QHttpServerResponse("404 - Page non trouvée. Route par défaut.", QHttpServerResponse::StatusCode::NotFound));
|
||||||
});
|
});*/
|
||||||
|
|
||||||
httpServer->route("/", [](const QHttpServerRequest &request)
|
httpServer->route("/", [](const QHttpServerRequest &request)
|
||||||
{
|
{
|
||||||
|
#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
|
||||||
|
QList<std::pair<QByteArray, QByteArray>> headersList = request.headers().toListOfPairs();
|
||||||
|
#else
|
||||||
QList<std::pair<QByteArray, QByteArray>> headersList = request.headers().toList();
|
QList<std::pair<QByteArray, QByteArray>> headersList = request.headers().toList();
|
||||||
|
#endif
|
||||||
debug(DEBUGMACRO, "Remote address" + request.remoteAddress().toString(), WARNING);
|
debug(DEBUGMACRO, "Remote address" + request.remoteAddress().toString(), WARNING);
|
||||||
return QHttpServerResponse("text/plain", "Failed\n");
|
return QHttpServerResponse("text/plain", "Failed\n");
|
||||||
});
|
});
|
||||||
@@ -173,12 +186,33 @@ void Pws2mqtt::listeningHttp()
|
|||||||
{
|
{
|
||||||
//QByteArray data;
|
//QByteArray data;
|
||||||
debug (DEBUGMACRO, "listening http requests", DEBUG);
|
debug (DEBUGMACRO, "listening http requests", DEBUG);
|
||||||
const auto port = httpServer->listen(QHostAddress::Any, 5000);
|
|
||||||
if (!port)
|
#if QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)
|
||||||
|
this->tcpServer = new QTcpServer(); //httpServer.server.listen(QHostAddress::Any, this->port);
|
||||||
|
if (!this->tcpServer->listen(QHostAddress::LocalHost, this->listenPort))
|
||||||
|
{
|
||||||
|
delete this->tcpServer;
|
||||||
|
debug(DEBUGMACRO , "TCPServer failed to listen on a port.", ERROR);
|
||||||
|
//return 0;
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
if (!httpServer->bind(tcpServer))
|
||||||
|
{
|
||||||
|
debug(DEBUGMACRO, "Binding tcpserver to httpserver failed ", ERROR);
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
debug(DEBUGMACRO, "Listening on port " + QString::number(this->tcpServer->serverPort ()), INFO);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
const auto listenPort = httpServer->listen(QHostAddress::Any, 5000);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
if (!this->listenPort)
|
||||||
{
|
{
|
||||||
debug(DEBUGMACRO, "Http Server failed to listen on a port.", ERROR);
|
debug(DEBUGMACRO, "Http Server failed to listen on a port.", ERROR);
|
||||||
}
|
}
|
||||||
debug(DEBUGMACRO, "Listening on port " + QString::number(port), INFO);
|
debug(DEBUGMACRO, "Listening on port " + QString::number(listenPort), INFO);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Pws2mqtt::parseData(QList<std::pair<QString, QString>> queryList)
|
void Pws2mqtt::parseData(QList<std::pair<QString, QString>> queryList)
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "qabstracthttpserver.h"
|
||||||
|
#include "qhttpserver.h"
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QByteArray>
|
#include <QByteArray>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
#include <QtHttpServer/QHttpServerResponder>
|
||||||
|
#include <QtHttpServer>
|
||||||
#ifdef WITH_MQTT
|
#ifdef WITH_MQTT
|
||||||
#include <QtMqtt>
|
#include <QtMqtt>
|
||||||
#include <QtMqtt/QMqttClient>
|
#include <QtMqtt/QMqttClient>
|
||||||
@@ -34,6 +38,7 @@ class Pws2mqtt : public QObject
|
|||||||
Pws2mqtt();
|
Pws2mqtt();
|
||||||
~Pws2mqtt();
|
~Pws2mqtt();
|
||||||
|
|
||||||
|
QTcpServer * tcpServer;
|
||||||
QString ProcName = "pws2mqtt"; // name of the proceesus in ps, top, pstree, ...;
|
QString ProcName = "pws2mqtt"; // name of the proceesus in ps, top, pstree, ...;
|
||||||
FILE * logFh = nullptr;
|
FILE * logFh = nullptr;
|
||||||
QString listenHost = "0.0.0.0";
|
QString listenHost = "0.0.0.0";
|
||||||
@@ -66,4 +71,5 @@ double windChill(double airT, double vent);
|
|||||||
double calculerHumidex(double temperature, double humiditeRelative);
|
double calculerHumidex(double temperature, double humiditeRelative);
|
||||||
void notify (QString notif, QString priority = "low", QString inputPath = "", QString tag = "");
|
void notify (QString notif, QString priority = "low", QString inputPath = "", QString tag = "");
|
||||||
QString listProperties2notify (QMap <QByteArray, QString> propertyList, QHash <QByteArray, quint8> priority, quint8 minAlert = 0);
|
QString listProperties2notify (QMap <QByteArray, QString> propertyList, QHash <QByteArray, quint8> priority, quint8 minAlert = 0);
|
||||||
|
void missingHandler(const QHttpServerRequest &request, QHttpServerResponder &responder);
|
||||||
|
|
||||||
Reference in new issue
Block a user