CoreComponents 4.0.0
A Modern C++ Toolkit
Loading...
Searching...
No Matches
HttpResponseGenerator Class Referencefinal

HTTP response generator. More...

#include <cc/HttpResponseGenerator>

Inheritance diagram for HttpResponseGenerator:

Public Member Functions

 HttpResponseGenerator ()=default
 Create a null HTTP response generator.
 HttpResponseGenerator (const Stream &stream)
 Create a HTTP response generator.
void setStatus (HttpStatus status, const String &reasonPhrase="")
 Set HTTP status code
void setNodeVersion (const String &nodeVersion)
 Set node name/version
long long bytesWritten () const
 Total number of payload bytes written
bool delivered () const
 Response has been delivered
HttpStatus status () const
 HTTP status code.
Public Member Functions inherited from HttpMessageGenerator
 HttpMessageGenerator ()=default
 Create a null HTTP message generator.
void setHeader (const String &name, const String &value)
 Set message header name to value
void transmit ()
 Transmit HTTP message without payload.
void transmit (const String &payload)
 Transmit HTTP message with attached payload.
void transmit (const Stream &source)
 Transmit HTTP message and stream the payload from source.
void setHeader (const Map< String, String > &header)
 Set a custom message header
void beginTransmission (long long contentLength=-1)
 Begin message transmission.
Stream payload ()
 Get access to the payload stream.
void write (const Bytes &data)
 Write data to the payload stream.
Format chunk (const String &pattern)
 Create a new payload chunk with given format pattern.
Format chunk ()
 Create a new payload chunk.
void endTransmission ()
 End of message transmission.
Public Member Functions inherited from Object
 Object ()=default
 Create a null object.
 operator bool () const
 Check if this is a non-null object.
bool isNull () const
 Check if this is a null object.
int useCount () const
 Reference count.
template<class T>
bool is () const
 Check if this object is of type T.
template<class T>
as () const
 Cast this object to type T.
bool isWeak () const
 Check if the underlying object reference is weak.
bool operator== (const Object &other) const
 Equality operator.
std::strong_ordering operator<=> (const Object &other) const
 Ordering operator.

Additional Inherited Members

Public Types inherited from Object
using NullAccess = cc::NullAccess
 Error thrown when trying to access a null object.
using VirginityTestFailed = cc::VirginityTestFailed
 Error thrown when trying to initialize an object with a non-virgin state.
Protected Member Functions inherited from HttpMessageGenerator
 HttpMessageGenerator (State *newState)
State & me ()
const State & me () const
Protected Member Functions inherited from Object
template<class T>
weak () const
template<class T>
void initOnce ()
 Create the object state when called the first time.
template<class T>
void initOncePerThread ()
 Create a distinct object state for each thread when called the first time in that thread.
 Object (State *newState)
 Initialize object with newState.
 Object (State *state, Alias)
 Object (State *state, Weak)
Objectoperator= (std::nullptr_t)
Static Protected Member Functions inherited from Object
template<class T>
static T alias (const State *state)
 Create an alias object for the given state.
template<class T>
static T weak (const State *state)
Protected Attributes inherited from Object
Handle< Stateme
 Internal object state

Detailed Description

HTTP response generator.

Todo
improve interface to support builder pattern style message construction

Constructor & Destructor Documentation

◆ HttpResponseGenerator() [1/2]

HttpResponseGenerator ( )
default

Create a null HTTP response generator.

◆ HttpResponseGenerator() [2/2]

HttpResponseGenerator ( const Stream & stream)
explicit

Create a HTTP response generator.

Member Function Documentation

◆ setStatus()

void setStatus ( HttpStatus status,
const String & reasonPhrase = "" )

Set HTTP status code

◆ setNodeVersion()

void setNodeVersion ( const String & nodeVersion)

Set node name/version

◆ bytesWritten()

long long bytesWritten ( ) const

Total number of payload bytes written

◆ delivered()

bool delivered ( ) const

Response has been delivered

◆ status()

HttpStatus status ( ) const

HTTP status code.