фикс: не использовался путь для статических файлов + немного поменял цвета
This commit is contained in:
@@ -22,13 +22,18 @@ static void loadFile(const std::string& path, std::vector<char>& content) {
|
||||
|
||||
http::resource::BasicResource::BasicResource(std::string path): path(std::move(path)) {}
|
||||
|
||||
http::resource::StaticFileFactory::StaticFileDef::StaticFileDef(std::string path, server::mime_types::Mime type, bool allowCache): path(std::move(path)), type(type), allowCache(allowCache) {
|
||||
http::resource::StaticFileFactory::StaticFileDef::StaticFileDef(const std::string& path, std::string webPath, server::mime_types::Mime type, bool allowCache):
|
||||
webPath(std::move(webPath)),
|
||||
#ifdef USE_DEBUG
|
||||
fsPath(path),
|
||||
#endif
|
||||
type(type), allowCache(allowCache) {
|
||||
#ifdef USE_DEBUG
|
||||
if (allowCache) {
|
||||
BOOST_LOG_TRIVIAL(info) << "Load static file " << this->path;
|
||||
loadFile(this->path, this->content);
|
||||
BOOST_LOG_TRIVIAL(info) << "Load static file " << this->webPath;
|
||||
loadFile(path, this->content);
|
||||
} else {
|
||||
BOOST_LOG_TRIVIAL(info) << "Skip loading static file " << this->path;
|
||||
BOOST_LOG_TRIVIAL(info) << "Skip loading static file " << this->webPath;
|
||||
}
|
||||
#else
|
||||
BOOST_LOG_TRIVIAL(info) << "Load static file " << this->path;
|
||||
@@ -39,20 +44,20 @@ http::resource::StaticFileFactory::StaticFileDef::~StaticFileDef() = default;
|
||||
|
||||
http::resource::StaticFileFactory::StaticFileFactory() = default;
|
||||
|
||||
void http::resource::StaticFileFactory::registerFile(const std::string &path, server::mime_types::Mime type, bool allowCache) {
|
||||
this->files.emplace_back(path, type, allowCache);
|
||||
void http::resource::StaticFileFactory::registerFile(const std::string &path, const std::string &webPath, server::mime_types::Mime type, bool allowCache) {
|
||||
this->files.emplace_back(path, webPath, type, allowCache);
|
||||
}
|
||||
|
||||
void http::resource::StaticFileFactory::serve(const std::string &path, server::Reply &rep) {
|
||||
for (auto& f: this->files) {
|
||||
if (f.path == path) {
|
||||
if (f.webPath == path) {
|
||||
#ifdef USE_DEBUG
|
||||
if (f.allowCache) {
|
||||
rep.content.clear();
|
||||
rep.content.insert(rep.content.end(), f.content.begin(), f.content.end());
|
||||
} else {
|
||||
BOOST_LOG_TRIVIAL(debug) << "Reload file " << path << " (http path: " << path << ")";
|
||||
loadFile(f.path, rep.content);
|
||||
loadFile(f.fsPath, rep.content);
|
||||
}
|
||||
#else
|
||||
rep.content.clear();
|
||||
|
Reference in New Issue
Block a user