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 Validator(bool perform_fs_checks = true);
22 void validateServer(ServerBlock &server);
23 void validateLocation(LocationBlock &location, ServerBlock const &server);
24
25 void validateListen(ServerBlock &server);
26 void validateRoot(Block &block);
27 void validateServerNames(ServerBlock &server);
28
29 static void locationCompleteRoot(LocationBlock &l, ServerBlock const &s);
30
32};
33
34} // namespace config
Base class for configuration blocks like 'server' and 'location'.
Definition Block.hpp:19
Represents a single 'location' block from the configuration file.
Definition LocationBlock.hpp:16
Represents a single 'server' block from the configuration file.
Definition ServerBlock.hpp:18
void validateRoot(Block &block)
Definition Validator.cpp:35
void validateServerNames(ServerBlock &server)
Definition Validator.cpp:59
static void validate(ServerBlockVec &servers, bool perform_fs_checks=true)
Definition Validator.cpp:13
Validator()
Definition Validator.cpp:10
bool perform_fs_checks_
Definition Validator.hpp:31
void validateServer(ServerBlock &server)
Definition Validator.cpp:23
void validateLocation(LocationBlock &location, ServerBlock const &server)
Definition Validator.cpp:30
void validateListen(ServerBlock &server)
Definition Validator.cpp:50
static void locationCompleteRoot(LocationBlock &l, ServerBlock const &s)
Definition Validator.cpp:66
Definition ConfigException.hpp:6
std::vector< ServerBlock > ServerBlockVec
Definition ServerBlock.hpp:58