11 #include <restinio/exception.hpp> 12 #include <restinio/http_headers.hpp> 13 #include <restinio/message_builders.hpp> 14 #include <restinio/chunked_input_info.hpp> 15 #include <restinio/impl/connection_base.hpp> 50 template<
typename Extra_Data >
85 new(buffer.get()) data_t{};
115 template<
typename Extra_Data >
118 using data_t = Extra_Data;
128 template<
typename Extra_Data >
134 template<
typename Extra_Data >
151 template<
typename Extra_Data >
157 template<
typename Factory >
198 template<
typename Extra_Data >
202 template<
typename UD >
212 template<
typename Extra_Data_Factory >
214 request_id_t request_id,
215 http_request_header_t header,
217 impl::connection_handle_t connection,
218 endpoint_t remote_endpoint,
219 Extra_Data_Factory & extra_data_factory )
235 template<
typename Extra_Data_Factory >
237 request_id_t request_id,
238 http_request_header_t header,
240 chunked_input_info_unique_ptr_t chunked_input_info,
241 impl::connection_handle_t connection,
242 endpoint_t remote_endpoint,
243 Extra_Data_Factory & extra_data_factory )
274 return response_builder_t< Output >{
276 std::move( m_connection ),
278 m_header.should_keep_alive() };
430 template<
typename Extra_Data >
475 template<
typename Extra_Data >
const http_request_header_t & header() const noexcept
Get request header.
nullable_pointer_t< const chunked_input_info_t > chunked_input_info() const noexcept
Get optional info about chunked input.
const http_request_header_t m_header
friend impl::connection_handle_t & impl::access_req_connection(generic_request_t< UD > &) noexcept
connection_handle_t & access_req_connection(generic_request_t< Extra_Data > &) noexcept
generic_request_t(request_id_t request_id, http_request_header_t header, std::string body, impl::connection_handle_t connection, endpoint_t remote_endpoint, Extra_Data_Factory &extra_data_factory)
Old-format initializing constructor.
const connection_id_t m_connection_id
auto request_id() const noexcept
Get request id.
generic_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, Extra_Data_Factory &extra_data_factory)
New-format initializing constructor.
impl::connection_handle_t m_connection
const endpoint_t & remote_endpoint() const noexcept
Get the remote endpoint of the underlying connection.
const chunked_input_info_unique_ptr_t m_chunked_input_info
Optional description for chunked-encoding.
RESTINIO_NODISCARD char to_lower_case(unsigned char ch)
std::ostream & operator<<(std::ostream &o, const generic_request_t< Extra_Data > &req)
auto create_response(http_status_line_t status_line=status_ok())
impl::generic_request_extra_data_holder_t< Extra_Data > m_extra_data_holder
An instance of extra-data that is incorporated into a request object.
const std::string & body() const noexcept
Get request body.
connection_id_t connection_id() const noexcept
Get connection id.
const endpoint_t m_remote_endpoint
Remote endpoint for underlying connection.
std::enable_if< std::is_same< Parameter_Container, query_string_params_t >::value||std::is_same< Parameter_Container, router::route_params_t >::value, optional_t< Value_Type > >::type opt_value(const Parameter_Container ¶ms, string_view_t key)
Gets the value of a parameter specified by key wrapped in optional_t<Value_Type> if parameter exists ...