Class for HTTP path matching.
More...
#include <wpinet/HttpUtil.h>
|
| HttpPath ()=default |
| Constructs an empty HTTP path.
|
|
| HttpPath (std::string_view path) |
| Constructs a HTTP path from an escaped path string.
|
|
| operator bool () const |
| Evaluates to true if the path is not empty.
|
|
bool | empty () const |
| Returns true if the path has no elements.
|
|
size_t | size () const |
| Returns number of elements in the path.
|
|
bool | equals (std::initializer_list< std::string_view > match) const |
| Returns true if the path exactly matches the provided match list.
|
|
bool | equals (std::span< const std::string_view > match) const |
|
bool | equals (std::string_view match) const |
|
bool | equals (size_t start, std::initializer_list< std::string_view > match) const |
| Returns true if the elements of the path starting at the "start" element match the provided match list, and there are no additional elements.
|
|
bool | equals (size_t start, std::span< const std::string_view > match) const |
|
bool | equals (size_t start, std::string_view match) const |
|
bool | startswith (std::initializer_list< std::string_view > match) const |
| Returns true if the first elements of the path match the provided match list.
|
|
bool | startswith (std::span< const std::string_view > match) const |
|
bool | startswith (std::string_view match) const |
|
bool | startswith (size_t start, std::initializer_list< std::string_view > match) const |
| Returns true if the elements of the path starting at the "start" element match the provided match list.
|
|
bool | startswith (size_t start, std::span< const std::string_view > match) const |
|
bool | startswith (size_t start, std::string_view match) const |
|
std::string_view | operator[] (size_t n) const |
| Gets a single element of the path.
|
|
HttpPathRef | drop_front (size_t n) const |
| Returns a path reference with the first N elements of the path removed.
|
|
Class for HTTP path matching.
A root path is represented as a single empty element, otherwise the path consists of each non-empty element between the '/' characters:
- "" -> []
- "/" -> [""]
- "/foo" -> ["foo"]
- "/foo/bar" -> ["foo", "bar"]
- "/foo//bar/" -> ["foo", "bar"]
All path elements are unescaped.
◆ HttpPath() [1/2]
wpi::HttpPath::HttpPath |
( |
| ) |
|
|
default |
Constructs an empty HTTP path.
◆ HttpPath() [2/2]
wpi::HttpPath::HttpPath |
( |
std::string_view | path | ) |
|
|
explicit |
Constructs a HTTP path from an escaped path string.
Makes a copy of the path, so it's safe to be a temporary.
◆ drop_front()
HttpPathRef wpi::HttpPath::drop_front |
( |
size_t | n | ) |
const |
|
inline |
Returns a path reference with the first N elements of the path removed.
◆ empty()
bool wpi::HttpPath::empty |
( |
| ) |
const |
|
inline |
Returns true if the path has no elements.
◆ equals() [1/6]
bool wpi::HttpPath::equals |
( |
size_t | start, |
|
|
std::initializer_list< std::string_view > | match ) const |
|
inline |
Returns true if the elements of the path starting at the "start" element match the provided match list, and there are no additional elements.
- Parameters
-
start | element to start matching at |
match | match list |
- Returns
- True if match
◆ equals() [2/6]
bool wpi::HttpPath::equals |
( |
size_t | start, |
|
|
std::span< const std::string_view > | match ) const |
|
inline |
◆ equals() [3/6]
bool wpi::HttpPath::equals |
( |
size_t | start, |
|
|
std::string_view | match ) const |
|
inline |
◆ equals() [4/6]
bool wpi::HttpPath::equals |
( |
std::initializer_list< std::string_view > | match | ) |
const |
|
inline |
Returns true if the path exactly matches the provided match list.
- Parameters
-
- Returns
- True if path equals match list
◆ equals() [5/6]
bool wpi::HttpPath::equals |
( |
std::span< const std::string_view > | match | ) |
const |
|
inline |
◆ equals() [6/6]
bool wpi::HttpPath::equals |
( |
std::string_view | match | ) |
const |
|
inline |
◆ operator bool()
wpi::HttpPath::operator bool |
( |
| ) |
const |
|
inlineexplicit |
Evaluates to true if the path is not empty.
◆ operator[]()
std::string_view wpi::HttpPath::operator[] |
( |
size_t | n | ) |
const |
Gets a single element of the path.
◆ size()
size_t wpi::HttpPath::size |
( |
| ) |
const |
|
inline |
Returns number of elements in the path.
◆ startswith() [1/6]
bool wpi::HttpPath::startswith |
( |
size_t | start, |
|
|
std::initializer_list< std::string_view > | match ) const |
|
inline |
Returns true if the elements of the path starting at the "start" element match the provided match list.
The path may have additional elements.
- Parameters
-
start | element to start matching at |
match | match list |
- Returns
- True if path starting at the start element matches the match list
◆ startswith() [2/6]
bool wpi::HttpPath::startswith |
( |
size_t | start, |
|
|
std::span< const std::string_view > | match ) const |
◆ startswith() [3/6]
bool wpi::HttpPath::startswith |
( |
size_t | start, |
|
|
std::string_view | match ) const |
|
inline |
◆ startswith() [4/6]
bool wpi::HttpPath::startswith |
( |
std::initializer_list< std::string_view > | match | ) |
const |
|
inline |
Returns true if the first elements of the path match the provided match list.
The path may have additional elements.
- Parameters
-
- Returns
- True if path starts with match list
◆ startswith() [5/6]
bool wpi::HttpPath::startswith |
( |
std::span< const std::string_view > | match | ) |
const |
|
inline |
◆ startswith() [6/6]
bool wpi::HttpPath::startswith |
( |
std::string_view | match | ) |
const |
|
inline |
The documentation for this class was generated from the following file: