roar
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Roar::Response< BodyT > Class Template Reference

#include <response.hpp>

Collaboration diagram for Roar::Response< BodyT >:

Public Types

using body_type = BodyT
 

Public Member Functions

 Response ()
 
 Response (boost::beast::http::response< BodyT > &&res)
 
template<typename... Forwards>
 Response (Forwards... forwards)
 
Responsestatus (boost::beast::http::status status)
 Sets the response status code.
 
ResponsesetCookie (Cookie const &cookie)
 Sets a set-cookie header entry.
 
auto & body ()
 Retrieve the response body object.
 
ResponsekeepAlive (bool keepAlive=true)
 Set keep alive.
 
template<typename T >
Responsebody (T &&toAssign)
 This function can be used to assign something to the body.
 
auto body () const
 
Responsechunked (bool activate=true)
 (De)Activate chunked encoding.
 
bool chunked () const
 
ResponsecontentType (std::string const &type)
 For setting of the content type.
 
std::optional< std::string > contentType () const
 
ResponsecontentLength (std::size_t length)
 
std::optional< std::size_t > contentLength () const
 
auto begin ()
 
auto begin () const
 
auto end ()
 
auto end () const
 
auto cbegin () const
 
auto cend () const
 
auto at (boost::beast::http::field field) const
 
void clear ()
 
auto equal_range (boost::beast::http::field field) const
 
auto erase (boost::beast::http::field field)
 
auto find (boost::beast::http::field field) const
 
bool hasContentLength () const
 
bool hasField (boost::beast::http::field field) const
 
bool hasKeepAlive () const
 
auto payloadSize () const
 
auto reason () const
 
auto result () const
 
auto resultInt () const
 
void set (boost::beast::http::field field, std::string const &value)
 
auto target () const
 
auto version () const
 
ResponsecontentType (char const *type)
 For setting of the content type.
 
ResponsesetHeader (boost::beast::http::field field, std::string const &value)
 Can be used to set a header field.
 
std::optional< std::string > getHeader (boost::beast::http::field field) const
 
ResponsesetHeader (boost::beast::http::field field, char const *value)
 Can be used to set a header field.
 
ResponsepreparePayload ()
 Sets header values that are implicit by the body (like Content-Lenght).
 
template<typename RequestBodyT >
ResponseenableCors (Request< RequestBodyT > const &req, std::optional< CorsSettings > cors=std::nullopt)
 Sets cors headers.
 
ResponseenableCorsEverything ()
 
boost::beast::http::response< BodyT > && response () &&
 Ejects the underlying boost response.
 
boost::beast::http::response< BodyT > & response () &
 Accessor for the underlying boost response.
 

Private Member Functions

auto joinList (std::vector< std::string > const &list)
 

Private Attributes

boost::beast::http::response< BodyT > response_
 

Member Typedef Documentation

◆ body_type

template<typename BodyT >
using Roar::Response< BodyT >::body_type = BodyT

Constructor & Destructor Documentation

◆ Response() [1/3]

template<typename BodyT >
Roar::Response< BodyT >::Response ( )
inline

◆ Response() [2/3]

template<typename BodyT >
Roar::Response< BodyT >::Response ( boost::beast::http::response< BodyT > &&  res)
inlineexplicit

◆ Response() [3/3]

template<typename BodyT >
template<typename... Forwards>
Roar::Response< BodyT >::Response ( Forwards...  forwards)
inlineexplicit

Member Function Documentation

◆ at()

template<typename BodyT >
auto Roar::Response< BodyT >::at ( boost::beast::http::field  field) const
inline

◆ begin() [1/2]

template<typename BodyT >
auto Roar::Response< BodyT >::begin ( )
inline

◆ begin() [2/2]

template<typename BodyT >
auto Roar::Response< BodyT >::begin ( ) const
inline

◆ body() [1/3]

template<typename BodyT >
auto & Roar::Response< BodyT >::body ( )
inline

Retrieve the response body object.

Returns
auto&

◆ body() [2/3]

template<typename BodyT >
auto Roar::Response< BodyT >::body ( ) const
inline

◆ body() [3/3]

template<typename BodyT >
template<typename T >
Response & Roar::Response< BodyT >::body ( T &&  toAssign)
inline

This function can be used to assign something to the body.

Template Parameters
T
Parameters
toAssign
Returns
Response& Returned for chaining.

◆ cbegin()

template<typename BodyT >
auto Roar::Response< BodyT >::cbegin ( ) const
inline

◆ cend()

template<typename BodyT >
auto Roar::Response< BodyT >::cend ( ) const
inline

◆ chunked() [1/2]

template<typename BodyT >
bool Roar::Response< BodyT >::chunked ( ) const
inline

◆ chunked() [2/2]

template<typename BodyT >
Response & Roar::Response< BodyT >::chunked ( bool  activate = true)
inline

(De)Activate chunked encoding.

Parameters
activate
Returns
Response& Returned for chaining.

◆ clear()

template<typename BodyT >
void Roar::Response< BodyT >::clear ( )
inline

◆ contentLength() [1/2]

template<typename BodyT >
std::optional< std::size_t > Roar::Response< BodyT >::contentLength ( ) const
inline

◆ contentLength() [2/2]

template<typename BodyT >
Response & Roar::Response< BodyT >::contentLength ( std::size_t  length)
inline

◆ contentType() [1/3]

template<typename BodyT >
std::optional< std::string > Roar::Response< BodyT >::contentType ( ) const
inline

◆ contentType() [2/3]

template<typename BodyT >
Response & Roar::Response< BodyT >::contentType ( char const *  type)
inline

For setting of the content type.

Parameters
type
Returns
Response& Returned for chaining.

◆ contentType() [3/3]

template<typename BodyT >
Response & Roar::Response< BodyT >::contentType ( std::string const &  type)
inline

For setting of the content type.

Parameters
type
Returns
Response& Returned for chaining.

◆ enableCors()

template<typename BodyT >
template<typename RequestBodyT >
Response & Roar::Response< BodyT >::enableCors ( Request< RequestBodyT > const &  req,
std::optional< CorsSettings cors = std::nullopt 
)
inline

Sets cors headers.

Parameters
reqA request to base the cors headers off of.
corsA cors settings object. If not supplied, a very permissive setting is used.
Returns
Response& Returned for chaining.

◆ enableCorsEverything()

template<typename BodyT >
Response & Roar::Response< BodyT >::enableCorsEverything ( )
inline

◆ end() [1/2]

template<typename BodyT >
auto Roar::Response< BodyT >::end ( )
inline

◆ end() [2/2]

template<typename BodyT >
auto Roar::Response< BodyT >::end ( ) const
inline

◆ equal_range()

template<typename BodyT >
auto Roar::Response< BodyT >::equal_range ( boost::beast::http::field  field) const
inline

◆ erase()

template<typename BodyT >
auto Roar::Response< BodyT >::erase ( boost::beast::http::field  field)
inline

◆ find()

template<typename BodyT >
auto Roar::Response< BodyT >::find ( boost::beast::http::field  field) const
inline

◆ getHeader()

template<typename BodyT >
std::optional< std::string > Roar::Response< BodyT >::getHeader ( boost::beast::http::field  field) const
inline

◆ hasContentLength()

template<typename BodyT >
bool Roar::Response< BodyT >::hasContentLength ( ) const
inline

◆ hasField()

template<typename BodyT >
bool Roar::Response< BodyT >::hasField ( boost::beast::http::field  field) const
inline

◆ hasKeepAlive()

template<typename BodyT >
bool Roar::Response< BodyT >::hasKeepAlive ( ) const
inline

◆ joinList()

template<typename BodyT >
auto Roar::Response< BodyT >::joinList ( std::vector< std::string > const &  list)
inlineprivate

◆ keepAlive()

template<typename BodyT >
Response & Roar::Response< BodyT >::keepAlive ( bool  keepAlive = true)
inline

Set keep alive.

Parameters
keepAlive
Returns
Response&

◆ payloadSize()

template<typename BodyT >
auto Roar::Response< BodyT >::payloadSize ( ) const
inline

◆ preparePayload()

template<typename BodyT >
Response & Roar::Response< BodyT >::preparePayload ( )
inline

Sets header values that are implicit by the body (like Content-Lenght).

Returns
Response& Returned for chaining.

◆ reason()

template<typename BodyT >
auto Roar::Response< BodyT >::reason ( ) const
inline

◆ response() [1/2]

template<typename BodyT >
boost::beast::http::response< BodyT > & Roar::Response< BodyT >::response ( ) &
inline

Accessor for the underlying boost response.

◆ response() [2/2]

template<typename BodyT >
boost::beast::http::response< BodyT > && Roar::Response< BodyT >::response ( ) &&
inline

Ejects the underlying boost response.

◆ result()

template<typename BodyT >
auto Roar::Response< BodyT >::result ( ) const
inline

◆ resultInt()

template<typename BodyT >
auto Roar::Response< BodyT >::resultInt ( ) const
inline

◆ set()

template<typename BodyT >
void Roar::Response< BodyT >::set ( boost::beast::http::field  field,
std::string const &  value 
)
inline

◆ setCookie()

template<typename BodyT >
Response & Roar::Response< BodyT >::setCookie ( Cookie const &  cookie)
inline

Sets a set-cookie header entry.

Parameters
cookieA cookie.

◆ setHeader() [1/2]

template<typename BodyT >
Response & Roar::Response< BodyT >::setHeader ( boost::beast::http::field  field,
char const *  value 
)
inline

Can be used to set a header field.

Returns
Response& Returned for chaining.

◆ setHeader() [2/2]

template<typename BodyT >
Response & Roar::Response< BodyT >::setHeader ( boost::beast::http::field  field,
std::string const &  value 
)
inline

Can be used to set a header field.

Returns
Response& Returned for chaining.

◆ status()

template<typename BodyT >
Response & Roar::Response< BodyT >::status ( boost::beast::http::status  status)
inline

Sets the response status code.

Parameters
statusA status code.

◆ target()

template<typename BodyT >
auto Roar::Response< BodyT >::target ( ) const
inline

◆ version()

template<typename BodyT >
auto Roar::Response< BodyT >::version ( ) const
inline

Member Data Documentation

◆ response_

template<typename BodyT >
boost::beast::http::response<BodyT> Roar::Response< BodyT >::response_
private

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