Latest condition.

This commit is contained in:
Kasen IO 2020-06-15 23:49:54 -04:00
parent 7be55e19a7
commit 269f0ac600
4 changed files with 12 additions and 9 deletions

View file

@ -10,6 +10,7 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
#include "DomainMetadata.h"
#include "HTTPConnection.h"
#include <AccountManager.h>
#include <DependencyManager.h>
@ -220,14 +221,14 @@ void DomainMetadata::sendDescriptors() {
}
}
bool DomainMetadata::handleHTTPRequest(HTTPConnection* connection, const QUrl& url, bool skipSubHandler) {
bool DomainMetadataExporter::handleHTTPRequest(HTTPConnection* connection, const QUrl& url, bool skipSubHandler) {
QString domainMetadataJSON = QString("{\"domain\":%1}").arg(QString(QJsonDocument(get(DESCRIPTORS)).toJson(QJsonDocument::Compact)));
const QString URI_METADATA = "/metadata";
const QString EXPORTER_MIME_TYPE = "text/plain";
qCDebug(domain_metadata_exporter) << "Request on URL " << url;
if (url.path() == URI_METADATA) {
QString domainMetadataJSON = QString("{\"domain\":%1}").arg(QString(QJsonDocument(get(DESCRIPTORS)).toJson(QJsonDocument::Compact)));
connection->respond(HTTPConnection::StatusCode200, domainMetadataJSON.toUtf8(), qPrintable(EXPORTER_MIME_TYPE));
return true;
}

View file

@ -17,6 +17,10 @@
#include <QJsonObject>
#include "HTTPManager.h"
class DomainMetadataExporter : public HTTPRequestHandler {
bool handleHTTPRequest(HTTPConnection* connection, const QUrl& url, bool skipSubHandler = false);
};
class DomainMetadata : public QObject {
Q_OBJECT
@ -45,9 +49,6 @@ public:
DomainMetadata(QObject* domainServer);
DomainMetadata() = delete;
bool handleHTTPRequest(HTTPConnection* connection, const QUrl& url, bool skipSubHandler = false) override;
bool handleHTTPSRequest(HTTPSConnection* connection, const QUrl& url, bool skipSubHandler = false) override;
// Get cached metadata
QJsonObject get();
QJsonObject get(const QString& group);

View file

@ -3070,15 +3070,14 @@ void DomainServer::initializeExporter() {
}
}
void DomainServer::initializeMetadataExporter()
{
void DomainServer::initializeMetadataExporter() {
static const QString ENABLE_EXPORTER = "metaverse.enable_metadata_exporter";
static const QString EXPORTER_PORT = "metaverse.metadata_exporter_port";
bool isMetadataExporterEnabled = _settingsManager.valueOrDefaultValueForKeyPath(ENABLE_EXPORTER).toBool();
int metadataExporterPort = _settingsManager.valueOrDefaultValueForKeyPath(EXPORTER_PORT).toInt();
if (exporterPort < MIN_PORT || exporterPort > MAX_PORT) {
if (metadataExporterPort < MIN_PORT || metadataExporterPort > MAX_PORT) {
qCWarning(domain_server) << "Metadata exporter port " << metadataExporterPort << " is out of range.";
isMetadataExporterEnabled = false;
}
@ -3087,7 +3086,7 @@ void DomainServer::initializeMetadataExporter()
if (isMetadataExporterEnabled && !_httpMetadataExporterManager) {
qCInfo(domain_server) << "Starting Metadata exporter on port " << metadataExporterPort;
_httpMetadataExporterManager = new HTTPManager(QHostAddress::Any, (quint16)metadataExporterPort, QString("%1/resources/metadata_exporter/").arg(QCoreApplication::applicationDirPath()), &_metadata);
_httpMetadataExporterManager = new HTTPManager(QHostAddress::Any, (quint16)metadataExporterPort, QString("%1/resources/metadata_exporter/").arg(QCoreApplication::applicationDirPath()), &_metadataExporter);
}
}

View file

@ -73,6 +73,7 @@ public:
static int const EXIT_CODE_REBOOT;
bool handleHTTPRequest(HTTPConnection* connection, const QUrl& url, bool skipSubHandler = false) override;
bool handleHTTPSRequest(HTTPSConnection* connection, const QUrl& url, bool skipSubHandler = false) override;
static const QString REPLACEMENT_FILE_EXTENSION;
@ -237,6 +238,7 @@ private:
DomainGatekeeper _gatekeeper;
DomainServerExporter _exporter;
DomainMetadata _metadataExporter;
HTTPManager _httpManager;
HTTPManager* _httpExporterManager { nullptr };