style: format code for consistency and readability in validation rules

This commit is contained in:
whaffman 2025-10-06 16:01:33 +02:00
parent dbc318cdfa
commit 2891deb47d
5 changed files with 33 additions and 28 deletions

View File

@ -6,8 +6,9 @@
#include <string> #include <string>
RequiredLocationBlocksRule::RequiredLocationBlocksRule(size_t minimumLocations) RequiredLocationBlocksRule::RequiredLocationBlocksRule(size_t minimumLocations)
: AStructuralValidationRule("RequiredLocationBlocksRule", : AStructuralValidationRule("RequiredLocationBlocksRule", "Ensures server has at least " +
"Ensures server has at least " + std::to_string(minimumLocations) + " location block(s)"), std::to_string(minimumLocations) +
" location block(s)"),
minimumLocations_(minimumLocations) minimumLocations_(minimumLocations)
{ {
} }
@ -16,16 +17,17 @@ ValidationResult RequiredLocationBlocksRule::validateServer(const ServerConfig *
{ {
Log::trace(LOCATION); Log::trace(LOCATION);
if (config == nullptr) { if (config == nullptr)
{
return ValidationResult::error("Server config is null"); return ValidationResult::error("Server config is null");
} }
size_t locationCount = config->getLocationPaths().size(); size_t locationCount = config->getLocationPaths().size();
if (locationCount < minimumLocations_) { if (locationCount < minimumLocations_)
return ValidationResult::error( {
"Server block must have at least " + std::to_string(minimumLocations_) + return ValidationResult::error("Server block must have at least " + std::to_string(minimumLocations_) +
" location block(s), but found " + std::to_string(locationCount)); " location block(s), but found " + std::to_string(locationCount));
} }
return ValidationResult::success(); return ValidationResult::success();

View File

@ -8,10 +8,10 @@ class ServerConfig;
class RequiredLocationBlocksRule : public AStructuralValidationRule class RequiredLocationBlocksRule : public AStructuralValidationRule
{ {
private: private:
size_t minimumLocations_; size_t minimumLocations_;
public: public:
explicit RequiredLocationBlocksRule(size_t minimumLocations = 1); explicit RequiredLocationBlocksRule(size_t minimumLocations = 1);
~RequiredLocationBlocksRule() override = default; ~RequiredLocationBlocksRule() override = default;

View File

@ -9,8 +9,7 @@
#include <string> #include <string>
UniqueServerNamesRule::UniqueServerNamesRule() UniqueServerNamesRule::UniqueServerNamesRule()
: AStructuralValidationRule("UniqueServerNamesRule", : AStructuralValidationRule("UniqueServerNamesRule", "Ensures all server blocks have unique server names")
"Ensures all server blocks have unique server names")
{ {
} }
@ -18,27 +17,31 @@ ValidationResult UniqueServerNamesRule::validateGlobal(const GlobalConfig *confi
{ {
Log::trace(LOCATION); Log::trace(LOCATION);
if (config == nullptr) { if (config == nullptr)
{
return ValidationResult::error("Global config is null"); return ValidationResult::error("Global config is null");
} }
std::set<std::string> serverNames; std::set<std::string> serverNames;
auto servers = config->getServerConfigs(); auto servers = config->getServerConfigs();
for (const auto *server : servers) { for (const auto *server : servers)
if (server == nullptr) { {
if (server == nullptr)
{
continue; continue;
} }
auto serverNameOpt = server->get<std::string>("server_name"); auto serverNameOpt = server->get<std::string>("server_name");
auto listenOpt = server->get<int>("listen"); auto listenOpt = server->get<int>("listen");
if (serverNameOpt.has_value() && listenOpt.has_value()) { if (serverNameOpt.has_value() && listenOpt.has_value())
{
const std::string &serverName = serverNameOpt.value(); const std::string &serverName = serverNameOpt.value();
int listenPort = listenOpt.value(); int listenPort = listenOpt.value();
if (serverNames.contains(serverName + ":" + std::to_string(listenPort))) { if (serverNames.contains(serverName + ":" + std::to_string(listenPort)))
return ValidationResult::error( {
"Duplicate server name '" + serverName + "' found in configuration"); return ValidationResult::error("Duplicate server name '" + serverName + "' found in configuration");
} }
serverNames.insert(serverName + ":" + std::to_string(listenPort)); serverNames.insert(serverName + ":" + std::to_string(listenPort));

View File

@ -6,7 +6,7 @@ class GlobalConfig;
class UniqueServerNamesRule : public AStructuralValidationRule class UniqueServerNamesRule : public AStructuralValidationRule
{ {
public: public:
UniqueServerNamesRule(); UniqueServerNamesRule();
~UniqueServerNamesRule() override = default; ~UniqueServerNamesRule() override = default;