Webserv
Loading...
Searching...
No Matches
Mapper.hpp
Go to the documentation of this file.
1#pragma once
2
4#include "../ServerBlock.hpp"
6
7namespace config {
8
16class Mapper {
17public:
18 static ServerBlockVec map(ConfigNodeVec const &nodes);
19
20private:
21 static void mapServerBlock(ServerBlock &, ConfigNode const &);
22 static void mapLocationBlock(LocationBlock &, ConfigNode const &);
23
24 static void handleLocationBlock(ServerBlock &, ConfigNode const &);
25};
26
27} // namespace config
A generic node representing a block in the configuration file.
Definition ConfigNode.hpp:24
Represents a single 'location' block from the configuration file.
Definition LocationBlock.hpp:16
Translates a generic ConfigNode tree into strongly-typed config blocks.
Definition Mapper.hpp:16
static ServerBlockVec map(ConfigNodeVec const &nodes)
Definition Mapper.cpp:10
static void mapServerBlock(ServerBlock &, ConfigNode const &)
Definition Mapper.cpp:24
static void handleLocationBlock(ServerBlock &, ConfigNode const &)
Definition Mapper.cpp:35
static void mapLocationBlock(LocationBlock &, ConfigNode const &)
Definition Mapper.cpp:46
Represents a single 'server' block from the configuration file.
Definition ServerBlock.hpp:18
Definition ConfigException.hpp:6
std::vector< ConfigNode > ConfigNodeVec
Definition ConfigNode.hpp:14
std::vector< ServerBlock > ServerBlockVec
Definition ServerBlock.hpp:58