Webserv
Loading...
Searching...
No Matches
Validator.hpp
Go to the documentation of this file.
1#pragma once
2
4#include "../ServerBlock.hpp"
5
6namespace config {
15class Validator {
16public:
17 static void validate(ServerBlockVec &servers, bool perform_fs_checks = true);
18
19private:
20 Validator();
21 explicit Validator(bool perform_fs_checks = true);
22
23 static void validateServer(ServerBlock &b);
24 static void validateLocation(LocationBlock &b, ServerBlock const &server);
25 static void validateGlobalConstraints(ServerBlockVec const &servers);
26
27 static void validateRoot(Block &b);
28 static void validateIndex(Block &b);
29
31};
32
33} // namespace config
Base class for configuration blocks like 'server' and 'location'.
Definition Block.hpp:15
Represents a single 'location' block from the configuration file.
Definition LocationBlock.hpp:18
Represents a single 'server' block from the configuration file.
Definition ServerBlock.hpp:22
static void validate(ServerBlockVec &servers, bool perform_fs_checks=true)
Definition Validator.cpp:16
static void validateRoot(Block &b)
Validator()
Definition Validator.cpp:13
bool perform_fs_checks_
Definition Validator.hpp:30
static void validateLocation(LocationBlock &b, ServerBlock const &server)
Definition Validator.cpp:45
static void validateGlobalConstraints(ServerBlockVec const &servers)
Definition Validator.cpp:50
static void validateIndex(Block &b)
Definition Validator.cpp:78
static void validateServer(ServerBlock &b)
Definition Validator.cpp:27
Definition ArgumentFactory.hpp:5
std::vector< ServerBlock > ServerBlockVec
Definition ServerBlock.hpp:90