mirror of https://github.com/kiwix/libkiwix.git
fixup! Introduce a ServerConfiguration object.
Move from `ServerConfiguration` to `Server::Configuration`.
This commit is contained in:
parent
85f58b8e01
commit
5896691b31
|
@ -29,56 +29,59 @@ namespace kiwix
|
||||||
class NameMapper;
|
class NameMapper;
|
||||||
class InternalServer;
|
class InternalServer;
|
||||||
|
|
||||||
class ServerConfiguration {
|
|
||||||
|
class Server {
|
||||||
public:
|
public:
|
||||||
ServerConfiguration(Library* library, NameMapper* nameMapper=nullptr)
|
class Configuration {
|
||||||
|
public:
|
||||||
|
explicit Configuration(Library* library, NameMapper* nameMapper=nullptr)
|
||||||
: mp_library(library),
|
: mp_library(library),
|
||||||
mp_nameMapper(nameMapper)
|
mp_nameMapper(nameMapper)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
ServerConfiguration& setRoot(const std::string& root);
|
Configuration& setRoot(const std::string& root);
|
||||||
ServerConfiguration& setAddress(const std::string& addr) {
|
Configuration& setAddress(const std::string& addr) {
|
||||||
m_addr = addr;
|
m_addr = addr;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerConfiguration& setPort(int port) {
|
Configuration& setPort(int port) {
|
||||||
m_port = port;
|
m_port = port;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerConfiguration& setNbThreads(int threads) {
|
Configuration& setNbThreads(int threads) {
|
||||||
m_nbThreads = threads;
|
m_nbThreads = threads;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerConfiguration& setMultiZimSearchLimit(unsigned int limit) {
|
Configuration& setMultiZimSearchLimit(unsigned int limit) {
|
||||||
m_multizimSearchLimit = limit;
|
m_multizimSearchLimit = limit;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerConfiguration& setIpConnectionLimit(int limit) {
|
Configuration& setIpConnectionLimit(int limit) {
|
||||||
m_ipConnectionLimit = limit;
|
m_ipConnectionLimit = limit;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerConfiguration& setVerbose(bool verbose) {
|
Configuration& setVerbose(bool verbose) {
|
||||||
m_verbose = verbose;
|
m_verbose = verbose;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerConfiguration& setIndexTemplateString(const std::string& indexTemplateString) {
|
Configuration& setIndexTemplateString(const std::string& indexTemplateString) {
|
||||||
m_indexTemplateString = indexTemplateString;
|
m_indexTemplateString = indexTemplateString;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerConfiguration& setTaskbar(bool withTaskbar, bool withLibraryButton) {
|
Configuration& setTaskbar(bool withTaskbar, bool withLibraryButton) {
|
||||||
m_withTaskbar = withTaskbar;
|
m_withTaskbar = withTaskbar;
|
||||||
m_withLibraryButton = withLibraryButton;
|
m_withLibraryButton = withLibraryButton;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerConfiguration& setBlockExternalLinks(bool blockExternalLinks) {
|
Configuration& setBlockExternalLinks(bool blockExternalLinks) {
|
||||||
m_blockExternalLinks = blockExternalLinks;
|
m_blockExternalLinks = blockExternalLinks;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
@ -98,16 +101,12 @@ namespace kiwix
|
||||||
int m_ipConnectionLimit = 0;
|
int m_ipConnectionLimit = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Server {
|
|
||||||
public:
|
|
||||||
/**
|
/**
|
||||||
* The default constructor.
|
* The default constructor.
|
||||||
*
|
*
|
||||||
* @param library The library to serve.
|
* @param library The library to serve.
|
||||||
*/
|
*/
|
||||||
Server(const ServerConfiguration& configuration);
|
explicit Server(const Configuration& configuration);
|
||||||
|
|
||||||
virtual ~Server();
|
virtual ~Server();
|
||||||
|
|
||||||
|
@ -125,7 +124,7 @@ namespace kiwix
|
||||||
std::string getAddress();
|
std::string getAddress();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ServerConfiguration m_configuration;
|
Configuration m_configuration;
|
||||||
std::unique_ptr<InternalServer> mp_server;
|
std::unique_ptr<InternalServer> mp_server;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
|
|
||||||
namespace kiwix {
|
namespace kiwix {
|
||||||
|
|
||||||
Server::Server(const ServerConfiguration& configuration) :
|
Server::Server(const Server::Configuration& configuration) :
|
||||||
m_configuration(configuration),
|
m_configuration(configuration),
|
||||||
mp_server(nullptr)
|
mp_server(nullptr)
|
||||||
{
|
{
|
||||||
|
@ -49,7 +49,7 @@ void Server::stop() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerConfiguration& ServerConfiguration::setRoot(const std::string& root)
|
Server::Configuration& Server::Configuration::setRoot(const std::string& root)
|
||||||
{
|
{
|
||||||
m_root = root;
|
m_root = root;
|
||||||
if (m_root[0] != '/') {
|
if (m_root[0] != '/') {
|
||||||
|
|
|
@ -366,7 +366,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
InternalServer::InternalServer(const ServerConfiguration& configuration) :
|
InternalServer::InternalServer(const Server::Configuration& configuration) :
|
||||||
m_configuration(configuration),
|
m_configuration(configuration),
|
||||||
m_root(normalizeRootUrl(configuration.m_root)),
|
m_root(normalizeRootUrl(configuration.m_root)),
|
||||||
m_indexTemplateString(configuration.m_indexTemplateString.empty() ? RESOURCE::templates::index_html : configuration.m_indexTemplateString),
|
m_indexTemplateString(configuration.m_indexTemplateString.empty() ? RESOURCE::templates::index_html : configuration.m_indexTemplateString),
|
||||||
|
|
|
@ -93,7 +93,7 @@ class OPDSDumper;
|
||||||
|
|
||||||
class InternalServer {
|
class InternalServer {
|
||||||
public:
|
public:
|
||||||
InternalServer(const ServerConfiguration& configuration);
|
InternalServer(const Server::Configuration& configuration);
|
||||||
virtual ~InternalServer();
|
virtual ~InternalServer();
|
||||||
|
|
||||||
MHD_Result handlerCallback(struct MHD_Connection* connection,
|
MHD_Result handlerCallback(struct MHD_Connection* connection,
|
||||||
|
@ -149,7 +149,7 @@ class InternalServer {
|
||||||
typedef ConcurrentCache<std::string, std::shared_ptr<LockableSuggestionSearcher>> SuggestionSearcherCache;
|
typedef ConcurrentCache<std::string, std::shared_ptr<LockableSuggestionSearcher>> SuggestionSearcherCache;
|
||||||
|
|
||||||
private: // data
|
private: // data
|
||||||
ServerConfiguration m_configuration;
|
Server::Configuration m_configuration;
|
||||||
std::string m_addr;
|
std::string m_addr;
|
||||||
std::string m_root;
|
std::string m_root;
|
||||||
std::string m_indexTemplateString;
|
std::string m_indexTemplateString;
|
||||||
|
|
|
@ -130,7 +130,7 @@ void ZimFileServer::run(int serverPort, std::string indexTemplateString)
|
||||||
} else {
|
} else {
|
||||||
nameMapper.reset(new kiwix::HumanReadableNameMapper(library, false));
|
nameMapper.reset(new kiwix::HumanReadableNameMapper(library, false));
|
||||||
}
|
}
|
||||||
kiwix::ServerConfiguration configuration(&library, nameMapper.get());
|
kiwix::Server::Configuration configuration(&library, nameMapper.get());
|
||||||
configuration.setRoot("ROOT")
|
configuration.setRoot("ROOT")
|
||||||
.setAddress(address)
|
.setAddress(address)
|
||||||
.setPort(serverPort)
|
.setPort(serverPort)
|
||||||
|
|
Loading…
Reference in New Issue