#include <HttpResponse.h>

Collaboration diagram for HttpResponse:
[legend]

Public Member Functions

 ~HttpResponse ()
 
bool sendString (const String &text)
 
bool hasHeader (const String &name)
 
void redirect (const String &location)
 
void forbidden ()
 
void notFound ()
 
HttpResponsesetContentType (const String &type)
 
HttpResponsesetContentType (enum MimeType type)
 
HttpResponsesetCookie (const String &name, const String &value)
 
HttpResponsesetHeader (const String &name, const String &value)
 
HttpResponsesetCache (int maxAgeSeconds=3600, bool isPublic=false)
 
HttpResponsesetAllowCrossDomainOrigin (const String &controlAllowOrigin)
 
bool sendFile (const String &fileName, bool allowGzipFileCheck=true)
 Send file by name. More...
 
bool sendTemplate (IDataSourceStream *newTemplateInstance)
 Parse and send template file. More...
 
bool sendNamedStream (IDataSourceStream *newDataStream)
 Parse and send stream, using the name to determine the content type. More...
 
bool sendDataStream (IDataSourceStream *newDataStream, enum MimeType type)
 Send data from the given stream object. More...
 
bool sendDataStream (IDataSourceStream *newDataStream, const String &reqContentType=nullptr)
 Send data from the given stream object. More...
 
String getBody ()
 Get response body as a string. More...
 
void reset ()
 reset response so it can be re-used More...
 
void setBuffer (ReadWriteStream *buffer)
 Called by connection to specify where incoming response data is written. More...
 
void freeStreams ()
 release allocated stream memory More...
 
bool isSuccess ()
 

Public Attributes

unsigned code = HTTP_STATUS_OK
 The HTTP status response code. More...
 
HttpHeaders headers
 
ReadWriteStreambuffer = nullptr
 Internal stream for storing strings and receiving responses. More...
 
IDataSourceStreamstream = nullptr
 The body stream. More...
 

Constructor & Destructor Documentation

◆ ~HttpResponse()

HttpResponse::~HttpResponse ( )
inline

Member Function Documentation

◆ forbidden()

void HttpResponse::forbidden ( )
inline
Deprecated:
Use response.code = HTTP_STATUS_FORBIDDEN instead

◆ freeStreams()

void HttpResponse::freeStreams ( )

release allocated stream memory

◆ getBody()

String HttpResponse::getBody ( )

Get response body as a string.

Return values
String
Note
Use with caution if response is large

◆ hasHeader()

bool HttpResponse::hasHeader ( const String name)
inline
Deprecated:
Use headers.contains() instead

◆ isSuccess()

bool HttpResponse::isSuccess ( )
inline

◆ notFound()

void HttpResponse::notFound ( )
inline
Deprecated:
Use response.code = HTTP_STATUS_NOT_FOUND instead

◆ redirect()

void HttpResponse::redirect ( const String location)
inline
Deprecated:
Use headers[HTTP_HEADER_LOCATION] instead

◆ reset()

void HttpResponse::reset ( )

reset response so it can be re-used

◆ sendDataStream() [1/2]

bool HttpResponse::sendDataStream ( IDataSourceStream newDataStream,
enum MimeType  type 
)
inline

Send data from the given stream object.

Parameters
newDataStream
type
Return values
falseon error

◆ sendDataStream() [2/2]

bool HttpResponse::sendDataStream ( IDataSourceStream newDataStream,
const String reqContentType = nullptr 
)

Send data from the given stream object.

Parameters
newDataStream
reqContentType
Return values
onerror returns false and stream will have been destroyed so any external references to it must be invalidated.
Note
all data is submitted via stream so called by internal routines

◆ sendFile()

bool HttpResponse::sendFile ( const String fileName,
bool  allowGzipFileCheck = true 
)

Send file by name.

Parameters
fileName
allowGzipFileCheckIf true, check file extension to see if content compressed
Return values
bool

◆ sendNamedStream()

bool HttpResponse::sendNamedStream ( IDataSourceStream newDataStream)

Parse and send stream, using the name to determine the content type.

Parameters
newDataStreamIf not set already, the contentType will be obtained from the name of this stream
Return values
bool

◆ sendString()

bool HttpResponse::sendString ( const String text)

◆ sendTemplate()

bool HttpResponse::sendTemplate ( IDataSourceStream newTemplateInstance)
inline

Parse and send template file.

Parameters
newTemplateInstance
Return values
bool
Deprecated:
Use sendNamedStream() instead

◆ setAllowCrossDomainOrigin()

HttpResponse* HttpResponse::setAllowCrossDomainOrigin ( const String controlAllowOrigin)

◆ setBuffer()

void HttpResponse::setBuffer ( ReadWriteStream buffer)

Called by connection to specify where incoming response data is written.

Parameters
buffer

◆ setCache()

HttpResponse* HttpResponse::setCache ( int  maxAgeSeconds = 3600,
bool  isPublic = false 
)

◆ setContentType() [1/2]

HttpResponse* HttpResponse::setContentType ( const String type)

◆ setContentType() [2/2]

HttpResponse* HttpResponse::setContentType ( enum MimeType  type)

◆ setCookie()

HttpResponse* HttpResponse::setCookie ( const String name,
const String value 
)

◆ setHeader()

HttpResponse* HttpResponse::setHeader ( const String name,
const String value 
)

Member Data Documentation

◆ buffer

ReadWriteStream* HttpResponse::buffer = nullptr

Internal stream for storing strings and receiving responses.

◆ code

unsigned HttpResponse::code = HTTP_STATUS_OK

The HTTP status response code.

◆ headers

HttpHeaders HttpResponse::headers

◆ stream

IDataSourceStream* HttpResponse::stream = nullptr

The body stream.


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