|
C++ Actor Framework 1.0.0
|
Encapsulates meta data for HTTP requests. More...
#include <request_header.hpp>
Public Types | |
| using | super = header |
Public Member Functions | |
| request_header ()=default | |
| Default constructor. | |
| request_header (request_header &&)=default | |
| Move constructor. | |
| request_header (const request_header &) | |
| Copy constructor. | |
| request_header & | operator= (const request_header &) |
| Copy assignment operator. | |
| void | clear () noexcept override |
| Clears the header content and fields. | |
| http::method | method () const noexcept |
| Returns the HTTP method of the request. | |
| std::string_view | path () const noexcept |
| Returns the path part of the request URI. | |
| const uri::query_map & | query () const noexcept |
| Returns the query part of the request URI as a map. | |
| std::string_view | fragment () const noexcept |
| Returns the fragment part of the request URI. | |
| std::string_view | version () const noexcept |
| Returns the HTTP version of the request. | |
| std::pair< status, std::string_view > | parse (std::string_view raw) |
| Parses a raw request header string and returns a pair containing the status and a description for the status. | |
Public Member Functions inherited from caf::net::http::header | |
| virtual | ~header () |
| Virtual destructor. | |
| header ()=default | |
| Default constructor. | |
| header (header &&)=default | |
| Move constructor. | |
| header & | operator= (header &&)=default |
| Move assignment operator. | |
| header (const header &) | |
| Copy constructor. | |
| header & | operator= (const header &) |
| Copy assignment operator. | |
| size_t | num_fields () const noexcept |
| Returns the number of fields in the request header. | |
| std::pair< std::string_view, std::string_view > | field_at (size_t index) const |
| Returns the field at the specified index as a key-value pair. | |
| bool | has_field (std::string_view key) const noexcept |
| Checks if the request header has a field with the specified key. | |
| std::string_view | field (std::string_view key) const noexcept |
| Returns the value of the field with the specified key, or an empty view if the field is not found. | |
| bool | field_equals (ignore_case_t, std::string_view key, std::string_view val) const noexcept |
Checks whether the field key exists and equals val when using case-insensitive compare of the value. | |
| bool | field_equals (std::string_view key, std::string_view val) const noexcept |
Checks whether the field key exists and equals val when using case-sensitive compare of the value. | |
| template<class T > | |
| std::optional< T > | field_as (std::string_view key) const noexcept |
| Returns the value of the field with the specified key as the requested type T, or std::nullopt if the field is not found or cannot be converted. | |
| template<class F > | |
| void | for_each_field (F &&f) const |
Executes the provided callable f for each field in the request header. | |
| bool | chunked_transfer_encoding () const noexcept |
Checks whether the client has defined Transfer-Encoding as chunked. | |
| std::optional< size_t > | content_length () const noexcept |
Convenience function for field_as<size_t>("Content-Length"). | |
| bool | valid () const noexcept |
| Checks if the request header is valid (non-empty). | |
| expected< std::string_view > | parse_fields (std::string_view data) |
| Parses header fields from the provided data and returns the unprocessed input or error on invalid format. | |
Additional Inherited Members | |
Protected Types inherited from caf::net::http::header | |
| using | fields_map = std::vector<std::pair<std::string_view, std::string_view>> |
Protected Member Functions inherited from caf::net::http::header | |
| fields_map::const_iterator | find_by_key_icase (std::string_view key) const noexcept |
| void | reassign_fields (const header &other) |
| Reassigns the shallow map from one address to another. | |
Static Protected Member Functions inherited from caf::net::http::header | |
| static std::string_view | remap (const char *base, std::string_view src, const char *new_base) noexcept |
Protected Attributes inherited from caf::net::http::header | |
| std::vector< char > | raw_ |
| Stores the raw HTTP input. | |
Encapsulates meta data for HTTP requests.
This class represents an HTTP request header, providing methods for accessing the HTTP method, path, query, fragment, version, and fields.
|
overridevirtualnoexcept |
Clears the header content and fields.
Reimplemented from caf::net::http::header.
| std::pair< status, std::string_view > caf::net::http::request_header::parse | ( | std::string_view | raw | ) |
Parses a raw request header string and returns a pair containing the status and a description for the status.
status::bad_request on error with a human-readable description of the error, status::ok otherwise.