#pragma once #include "CppCommon/NetQt/WebApi/ExeGet.h" #include namespace Incart::Net::WebApi { class exeGetFileHtml : public exeGet { // дать файлы frontend проекта Q_OBJECT private: DirectoryQueue* m_htmlDirectories; QString m_defaultHtmlDirectory; public: exeGetFileHtml(DirectoryQueue* htmlDirectories, const QString& defaultHtmlDirectory) : exeGet() , m_htmlDirectories(htmlDirectories) , m_defaultHtmlDirectory(defaultHtmlDirectory) { } void exe(ParsingURI& parsing, QTcpSocket* socket) override { QString name = parsing.getPath(); QString ext = parsing.getExtension(); QString htmlDirectory = m_defaultHtmlDirectory; std::cout << "exeGetFileHtml (1): " << name.toStdString() << std::endl; std::cout << "exeGetFileHtml (2): " << QCoreApplication::applicationDirPath().toStdString() << std::endl; if (name == "") { name = "index.html"; ext = "html"; m_htmlDirectories->SetLastName(htmlDirectory); } else { QString foundDirectory = m_htmlDirectories->GetDirectoryName(QCoreApplication::applicationDirPath(), name); if (!foundDirectory.isEmpty()) { htmlDirectory = foundDirectory; } } QString fileName = QCoreApplication::applicationDirPath() + "/" + htmlDirectory + "/" + name; file_reader(fileName, ext); sendResponse(socket); } }; } // namespace Incart::Net::WebApi