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

View File

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

View File

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

View File

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