#ifndef STATIC_FILES_HH #define STATIC_FILES_HH #include "transport.hh" #include #include class Logger; class SendFile; class TaskRunner; class StaticFiles { public: virtual ~StaticFiles() = default; static std::unique_ptr create( std::shared_ptr logger, std::shared_ptr runner, std::shared_ptr send_file, std::filesystem::path path, size_t threads = 1); virtual std::unique_ptr request( Transport* transport, std::string_view path) = 0; protected: StaticFiles() = default; StaticFiles(StaticFiles const&) = delete; StaticFiles& operator=(StaticFiles const&) = delete; }; #endif // STATIC_FILES_HH