61 std::string
const &
address()
const;
83 std::vector<std::string>
94bool matchServerName(std::vector<std::string>
const &, std::string
const &);
97 std::vector<std::string>
const &paths,
98 std::string
const &uri);
Block(std::string const &name)
Definition Block.cpp:11
Represents a single 'location' block from the configuration file.
Definition LocationBlock.hpp:18
std::string address_
The binding IP address.
Definition ServerBlock.hpp:81
int port() const
Gets the port number this server listens on.
Definition ServerBlock.cpp:44
bool hasLocation(LocationBlock const &) const
Checks if a location with the same path already exists.
Definition ServerBlock.cpp:25
friend class Validator
Definition ServerBlock.hpp:87
LocationBlock const * matchPrefixLocation(http::Request const &req) const
Definition ServerBlock.cpp:21
friend std::ostream & operator<<(std::ostream &o, ServerBlock const &t)
Definition ServerBlock.cpp:53
LocationBlockMap locations_
Map of configured location blocks, keyed by path.
Definition ServerBlock.hpp:82
void addLocation(LocationBlock const &)
Adds a new LocationBlock to this server configuration.
Definition ServerBlock.cpp:29
int port_
The listening port.
Definition ServerBlock.hpp:80
std::string const & address() const
Gets the IP address this server binds to.
Definition ServerBlock.cpp:51
std::vector< std::string > extensionPaths_
List of extension location paths in declaration order.
Definition ServerBlock.hpp:84
LocationBlock const * matchLocation(http::Request const &req) const
Finds the best-matching location block for a given request URI.
Definition ServerBlock.cpp:11
ServerBlock()
Definition ServerBlock.cpp:9
Definition Request.hpp:66
LocationBlock const * bestMatchLocation(LocationBlockMap const &ls, std::string const &path)
Definition ServerBlockDetails.cpp:18
bool matchServerName(std::vector< std::string > const &, std::string const &)
Definition ServerBlockDetails.cpp:10
LocationBlock const * matchExtensionLocation(LocationBlockMap const &ls, std::vector< std::string > const &paths, std::string const &uri)
Definition ServerBlockDetails.cpp:57
Definition ArgumentFactory.hpp:5
std::vector< ServerBlock > ServerBlockVec
Definition ServerBlock.hpp:90
std::map< std::string, LocationBlock > LocationBlockMap
Definition ServerBlock.hpp:12
Definition IArgument.hpp:5