Fawkes API  Fawkes Development Version
fawkes::StaticWebReply Class Reference

Static web reply. More...

#include <>>

Inheritance diagram for fawkes::StaticWebReply:

Public Member Functions

 StaticWebReply (Code code, std::string body="")
 Constructor. More...
 
void append_body (const char *format,...)
 Append to body. More...
 
void append_body (const std::string &s)
 Append string to body. More...
 
StaticWebReplyoperator+= (std::string text)
 Append simple text line. More...
 
virtual const std::string & body ()
 Get body. More...
 
virtual std::string::size_type body_length ()
 Get length of body. More...
 
virtual void pack ()
 Pack the data. More...
 
- Public Member Functions inherited from fawkes::WebReply
 WebReply (Code code)
 Constructor. More...
 
virtual ~WebReply ()
 Destructor. More...
 
Code code () const
 Get response code. More...
 
void set_code (Code code)
 Set response code. More...
 
void add_header (const std::string &header, const std::string &content)
 Add a HTTP header. More...
 
void add_header (const std::string &header_string)
 Add a HTTP header. More...
 
const HeaderMapheaders () const
 get headers. More...
 
void set_caching (bool caching)
 Enable or disable caching for this specific reply. More...
 
void set_request (WebRequest *request)
 Set associated request. More...
 
WebRequestget_request () const
 Get associated request. More...
 
void pack_caching ()
 Called just before the reply is sent. More...
 

Protected Attributes

std::string _body
 Body of the reply. More...
 

Additional Inherited Members

- Public Types inherited from fawkes::WebReply
enum  Code {
  HTTP_CONTINUE = 100 , HTTP_SWITCHING_PROTOCOLS = 101 , HTTP_PROCESSING = 102 , HTTP_OK = 200 ,
  HTTP_CREATED = 201 , HTTP_ACCEPTED = 202 , HTTP_NON_AUTHORITATIVE_INFORMATION = 203 , HTTP_NO_CONTENT = 204 ,
  HTTP_RESET_CONTENT = 205 , HTTP_PARTIAL_CONTENT = 206 , HTTP_MULTI_STATUS = 207 , HTTP_MULTIPLE_CHOICES = 300 ,
  HTTP_MOVED_PERMANENTLY = 301 , HTTP_FOUND = 302 , HTTP_SEE_OTHER = 303 , HTTP_NOT_MODIFIED = 304 ,
  HTTP_USE_PROXY = 305 , HTTP_SWITCH_PROXY = 306 , HTTP_TEMPORARY_REDIRECT = 307 , HTTP_BAD_REQUEST = 400 ,
  HTTP_UNAUTHORIZED = 401 , HTTP_PAYMENT_REQUIRED = 402 , HTTP_FORBIDDEN = 403 , HTTP_NOT_FOUND = 404 ,
  HTTP_METHOD_NOT_ALLOWED = 405 , HTTP_METHOD_NOT_ACCEPTABLE = 406 , HTTP_PROXY_AUTHENTICATION_REQUIRED = 407 , HTTP_REQUEST_TIMEOUT = 408 ,
  HTTP_CONFLICT = 409 , HTTP_GONE = 410 , HTTP_LENGTH_REQUIRED = 411 , HTTP_PRECONDITION_FAILED = 412 ,
  HTTP_REQUEST_ENTITY_TOO_LARGE = 413 , HTTP_REQUEST_URI_TOO_LONG = 414 , HTTP_UNSUPPORTED_MEDIA_TYPE = 415 , HTTP_REQUESTED_RANGE_NOT_SATISFIABLE = 416 ,
  HTTP_EXPECTATION_FAILED = 417 , HTTP_UNPROCESSABLE_ENTITY = 422 , HTTP_LOCKED = 423 , HTTP_FAILED_DEPENDENCY = 424 ,
  HTTP_UNORDERED_COLLECTION = 425 , HTTP_UPGRADE_REQUIRED = 426 , HTTP_RETRY_WITH = 449 , HTTP_INTERNAL_SERVER_ERROR = 500 ,
  HTTP_NOT_IMPLEMENTED = 501 , HTTP_BAD_GATEWAY = 502 , HTTP_SERVICE_UNAVAILABLE = 503 , HTTP_GATEWAY_TIMEOUT = 504 ,
  HTTP_HTTP_VERSION_NOT_SUPPORTED = 505 , HTTP_VARIANT_ALSO_NEGOTIATES = 506 , HTTP_INSUFFICIENT_STORAGE = 507 , HTTP_BANDWIDTH_LIMIT_EXCEEDED = 509 ,
  HTTP_NOT_EXTENDED = 510
}
 HTTP response code. More...
 
typedef std::map< std::string, std::string > HeaderMap
 Map of headers. More...
 
- Static Public Member Functions inherited from fawkes::WebReply
static void set_caching_default (bool caching)
 Enable or disable caching default for replies. More...
 

Detailed Description

Static web reply.

The static web reply is send out as a whole at once and is immediately deleted after sending. Use it for regular-sized pages and content.

Author
Tim Niemueller

Definition at line 135 of file reply.h.

Constructor & Destructor Documentation

◆ StaticWebReply()

fawkes::StaticWebReply::StaticWebReply ( Code  code,
std::string  body = "" 
)

Constructor.

Parameters
codeHTTP response code
bodyoptional initial body

Definition at line 243 of file reply.cpp.

References _body, and body().

Member Function Documentation

◆ append_body() [1/2]

void fawkes::StaticWebReply::append_body ( const char *  format,
  ... 
)

Append to body.

Parameters
formatformat of the text to append. Supports the same format as printf().

Definition at line 253 of file reply.cpp.

References _body.

Referenced by MetricsRequestProcessor::process_request().

◆ append_body() [2/2]

void fawkes::StaticWebReply::append_body ( const std::string &  s)

Append string to body.

Parameters
sstring to add, this may contain null bytes

Definition at line 269 of file reply.cpp.

References _body.

◆ body()

const std::string & fawkes::StaticWebReply::body ( )
virtual

Get body.

Returns
reference to body.

Reimplemented in fawkes::WebPageReply.

Definition at line 289 of file reply.cpp.

References _body.

Referenced by StaticWebReply().

◆ body_length()

std::string::size_type fawkes::StaticWebReply::body_length ( )
virtual

Get length of body.

Returns
body length

Reimplemented in fawkes::WebPageReply.

Definition at line 298 of file reply.cpp.

References _body.

◆ operator+=()

StaticWebReply & fawkes::StaticWebReply::operator+= ( std::string  text)

Append simple text line.

Parameters
texttext to append to body
Returns
reference to this instance

Definition at line 279 of file reply.cpp.

References _body.

◆ pack()

void fawkes::StaticWebReply::pack ( )
virtual

Pack the data.

This method is called just before the reply is sent. You can implement this method if you need to compose your reply before body() and body_length() provide valid output.

Reimplemented in fawkes::WebPageReply.

Definition at line 309 of file reply.cpp.

Member Data Documentation

◆ _body

std::string fawkes::StaticWebReply::_body
protected

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