29 bool has(std::string
const &key)
const;
45 Block &
add(std::string
const &key, std::vector<std::string>
const &);
47 Block &
add(std::string
const &key, std::string
const &);
49 Block &
add(std::string
const &key, std::string
const &, std::string
const &);
54 Block &
add(std::string
const &key,
size_t value);
56 std::vector<std::string>
getRawValues(std::string
const &key)
const;
62 std::vector<std::string>
get(std::string
const &key,
http::Request const &req)
const;
69 std::string
const &
name()
const;
75 std::string
root()
const;
std::string const & name() const
Gets the name of the block.
Definition Block.cpp:149
std::string root() const
Gets the root path directive.
Definition Block.cpp:147
size_t maxBodySize() const
Definition Block.cpp:202
virtual ~Block()
Definition Block.cpp:13
std::string getFirstEvaluatedString(std::string const &key, http::Request const &req) const
Definition Block.cpp:67
ArgumentVector const & get(std::string const &key) const
Safely gets the values for a directive.
Definition Block.cpp:81
std::vector< std::string > getRawValues(std::string const &key) const
Definition Block.cpp:175
Block(std::string const &name)
Definition Block.cpp:11
DirectiveMap directives_
Map storing directive names and their values.
Definition Block.hpp:97
Block & operator=(const Block &other)
Definition Block.cpp:32
std::string getFirstRawValue(std::string const &key) const
Definition Block.cpp:185
std::string name_
The name of the block (e.g., "server", "location").
Definition Block.hpp:96
std::vector< std::string > indexFiles() const
Gets the index files directive.
Definition Block.cpp:151
friend class DirectiveHandler
Definition Block.hpp:98
Block & add(std::string const &key, std::vector< std::string > const &)
Adds a directive with multiple values.
Definition Block.cpp:113
friend std::ostream & operator<<(std::ostream &, Block const &)
Definition Block.cpp:190
bool has(std::string const &key) const
Checks if a directive exists within the block.
Definition Block.cpp:89
Definition Request.hpp:66
Definition ArgumentFactory.hpp:5
std::vector< Token > ParsedDirectiveArgs
Definition types.hpp:13
std::vector< ArgumentPtr > ArgumentVector
Definition types.hpp:19
IArgument * ArgumentPtr
Definition types.hpp:18
std::map< std::string, ArgumentVector > DirectiveMap
Definition types.hpp:20