webserv/webserv/config/validation/structural_rules/RequiredLocationBlocksRule.hpp
2025-10-09 22:57:31 +02:00

25 lines
890 B
C++

#pragma once
#include <webserv/config/validation/structural_rules/AStructuralValidationRule.hpp> // for AStructuralValidationRule
#include <cstddef> // for size_t
class ServerConfig;
class RequiredLocationBlocksRule : public AStructuralValidationRule
{
private:
size_t minimumLocations_;
public:
explicit RequiredLocationBlocksRule(size_t minimumLocations = 1);
~RequiredLocationBlocksRule() override = default;
RequiredLocationBlocksRule(const RequiredLocationBlocksRule &other) = delete;
RequiredLocationBlocksRule &operator=(const RequiredLocationBlocksRule &other) = delete;
RequiredLocationBlocksRule(RequiredLocationBlocksRule &&other) noexcept = delete;
RequiredLocationBlocksRule &operator=(RequiredLocationBlocksRule &&other) noexcept = delete;
[[nodiscard]] ValidationResult validateServer(const ServerConfig *config) const override;
};