RESTinio
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
restinio::request_t Class Referencefinal

HTTP Request data. More...

#include <request_handler.hpp>

Inheritance diagram for restinio::request_t:

Public Member Functions

 request_t (request_id_t request_id, http_request_header_t header, std::string body, impl::connection_handle_t connection, endpoint_t remote_endpoint)
 Old-format initializing constructor. More...
 
 request_t (request_id_t request_id, http_request_header_t header, std::string body, chunked_input_info_unique_ptr_t chunked_input_info, impl::connection_handle_t connection, endpoint_t remote_endpoint)
 New-format initializing constructor. More...
 
const http_request_header_theader () const noexcept
 Get request header. More...
 
const std::string & body () const noexcept
 Get request body. More...
 
template<typename Output = restinio_controlled_output_t>
auto create_response (http_status_line_t status_line=status_ok())
 
auto request_id () const noexcept
 Get request id. More...
 
connection_id_t connection_id () const noexcept
 Get connection id. More...
 
const endpoint_tremote_endpoint () const noexcept
 Get the remote endpoint of the underlying connection. More...
 
nullable_pointer_t< const chunked_input_info_tchunked_input_info () const noexcept
 Get optional info about chunked input. More...
 

Private Member Functions

void check_connection ()
 

Private Attributes

const request_id_t m_request_id
 
const http_request_header_t m_header
 
const std::string m_body
 
const chunked_input_info_unique_ptr_t m_chunked_input_info
 Optional description for chunked-encoding. More...
 
impl::connection_handle_t m_connection
 
const connection_id_t m_connection_id
 
const endpoint_t m_remote_endpoint
 Remote endpoint for underlying connection. More...
 

Friends

impl::connection_handle_timpl::access_req_connection (request_t &) noexcept
 

Detailed Description

HTTP Request data.

Provides acces to header and body, and creates response builder for a given request.

Definition at line 42 of file request_handler.hpp.

Constructor & Destructor Documentation

◆ request_t() [1/2]

restinio::request_t::request_t ( request_id_t  request_id,
http_request_header_t  header,
std::string  body,
impl::connection_handle_t  connection,
endpoint_t  remote_endpoint 
)
inline

Old-format initializing constructor.

Can be used in cases where chunked_input_info_t is not available (or needed).

Definition at line 54 of file request_handler.hpp.

◆ request_t() [2/2]

restinio::request_t::request_t ( request_id_t  request_id,
http_request_header_t  header,
std::string  body,
chunked_input_info_unique_ptr_t  chunked_input_info,
impl::connection_handle_t  connection,
endpoint_t  remote_endpoint 
)
inline

New-format initializing constructor.

Since
v.0.6.9

Definition at line 74 of file request_handler.hpp.

Member Function Documentation

◆ body()

const std::string& restinio::request_t::body ( ) const
inlinenoexcept

Get request body.

Definition at line 99 of file request_handler.hpp.

◆ check_connection()

void restinio::request_t::check_connection ( )
inlineprivate

Definition at line 142 of file request_handler.hpp.

◆ chunked_input_info()

nullable_pointer_t< const chunked_input_info_t > restinio::request_t::chunked_input_info ( ) const
inlinenoexcept

Get optional info about chunked input.

Note
nullptr will be returned if chunked-encoding wasn't used in the incoming request.
Since
v.0.6.9

Definition at line 135 of file request_handler.hpp.

◆ connection_id()

connection_id_t restinio::request_t::connection_id ( ) const
inlinenoexcept

Get connection id.

Definition at line 121 of file request_handler.hpp.

◆ create_response()

template<typename Output = restinio_controlled_output_t>
auto restinio::request_t::create_response ( http_status_line_t  status_line = status_ok())
inline

Definition at line 106 of file request_handler.hpp.

◆ header()

const http_request_header_t& restinio::request_t::header ( ) const
inlinenoexcept

Get request header.

Definition at line 92 of file request_handler.hpp.

◆ remote_endpoint()

const endpoint_t& restinio::request_t::remote_endpoint ( ) const
inlinenoexcept

Get the remote endpoint of the underlying connection.

Definition at line 124 of file request_handler.hpp.

◆ request_id()

auto restinio::request_t::request_id ( ) const
inlinenoexcept

Get request id.

Definition at line 118 of file request_handler.hpp.

Friends And Related Function Documentation

◆ impl::access_req_connection

Member Data Documentation

◆ m_body

const std::string restinio::request_t::m_body
private

Definition at line 152 of file request_handler.hpp.

◆ m_chunked_input_info

const chunked_input_info_unique_ptr_t restinio::request_t::m_chunked_input_info
private

Optional description for chunked-encoding.

It is present only if chunked-encoded body is found in the incoming request.

Since
v.0.6.9

Definition at line 161 of file request_handler.hpp.

◆ m_connection

impl::connection_handle_t restinio::request_t::m_connection
private

Definition at line 163 of file request_handler.hpp.

◆ m_connection_id

const connection_id_t restinio::request_t::m_connection_id
private

Definition at line 164 of file request_handler.hpp.

◆ m_header

const http_request_header_t restinio::request_t::m_header
private

Definition at line 151 of file request_handler.hpp.

◆ m_remote_endpoint

const endpoint_t restinio::request_t::m_remote_endpoint
private

Remote endpoint for underlying connection.

Definition at line 167 of file request_handler.hpp.

◆ m_request_id

const request_id_t restinio::request_t::m_request_id
private

Definition at line 150 of file request_handler.hpp.


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