C++ Actor Framework 1.0.0
Loading...
Searching...
No Matches
caf::net::http::request_header Class Reference

Encapsulates meta data for HTTP requests. More...

#include <request_header.hpp>

Inheritance diagram for caf::net::http::request_header:
caf::net::http::header

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_headeroperator= (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_mapquery () 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.
 
headeroperator= (header &&)=default
 Move assignment operator.
 
 header (const header &)
 Copy constructor.
 
headeroperator= (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.
 

Detailed Description

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.

Member Function Documentation

◆ clear()

void caf::net::http::request_header::clear ( )
overridevirtualnoexcept

Clears the header content and fields.

Reimplemented from caf::net::http::header.

◆ parse()

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.

Returns
status::bad_request on error with a human-readable description of the error, status::ok otherwise.

The documentation for this class was generated from the following files: