Fawkes API  Fawkes Development Version
fawkes::WebPageReply Class Reference

Basic page reply. More...

#include <>>

Inheritance diagram for fawkes::WebPageReply:

Public Member Functions

 WebPageReply (std::string title, std::string page="")
 Constructor. 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...
 
virtual void pack (std::string active_baseurl, WebPageHeaderGenerator *headergen, WebPageFooterGenerator *footergen)
 Pack web page reply. More...
 
virtual void set_html_header (std::string h)
 Set HTML header text. More...
 
void set_navbar_enabled (bool enabled)
 Enable or disable the Fawkes Navigationbar (default enabled) More...
 
bool get_navbar_enabled ()
 Is the Fawkes Navigation bar enabled? More...
 
void set_footer_enabled (bool enabled)
 Enable or disable the Fawkes Webview footer (default enabled) More...
 
bool get_footer_enabled ()
 Is the Fawkes Webview footer enabled? More...
 
- Public Member Functions inherited from fawkes::StaticWebReply
 StaticWebReply (Code code, std::string body="")
 Constructor. More...
 
void append_body (const char *format,...)
 Append to body. More...
 
StaticWebReplyoperator+= (std::string text)
 Append simple text line. 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 add_header (std::string header, std::string content)
 Add a HTTP header. More...
 
void add_header (std::string header_string)
 Add a HTTP header. More...
 
const HeaderMapheaders () const
 get headers. More...
 
void set_request (WebRequest *request)
 Set associated request. More...
 
WebRequestget_request () const
 Get associated request. More...
 

Protected Member Functions

 WebPageReply (Code code)
 Base constructor. More...
 

Protected Attributes

std::string _title
 Title of the page. More...
 
- Protected Attributes inherited from fawkes::StaticWebReply
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 (bool caching)
 Enable or disable caching for all consecutive replies. More...
 

Detailed Description

Basic page reply.

This reply adds header and footer as appropriate to form a HTML document with logo and navigation.

Author
Tim Niemueller

Definition at line 36 of file page_reply.h.

Constructor & Destructor Documentation

◆ WebPageReply() [1/2]

fawkes::WebPageReply::WebPageReply ( std::string  title,
std::string  body = "" 
)

Constructor.

Parameters
titletitle of the page
bodyOptional initial body of the page

Definition at line 63 of file page_reply.cpp.

References _title, and fawkes::WebReply::add_header().

Referenced by pack().

◆ WebPageReply() [2/2]

fawkes::WebPageReply::WebPageReply ( Code  code)
protected

Base constructor.

Constructor that does not set a title or anything. Use for sub-classes.

Parameters
codeHTTP code for this reply

Definition at line 78 of file page_reply.cpp.

References fawkes::WebReply::add_header().

Member Function Documentation

◆ body()

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

Get body.

Returns
reference to body.

Reimplemented from fawkes::StaticWebReply.

Definition at line 138 of file page_reply.cpp.

◆ body_length()

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

Get length of body.

Returns
body length

Reimplemented from fawkes::StaticWebReply.

Definition at line 131 of file page_reply.cpp.

◆ get_footer_enabled()

bool fawkes::WebPageReply::get_footer_enabled ( )

Is the Fawkes Webview footer enabled?

Returns
enabled

Definition at line 171 of file page_reply.cpp.

Referenced by pack().

◆ get_navbar_enabled()

bool fawkes::WebPageReply::get_navbar_enabled ( )

Is the Fawkes Navigation bar enabled?

Returns
enabled

Definition at line 155 of file page_reply.cpp.

Referenced by pack().

◆ pack() [1/2]

virtual void fawkes::WebPageReply::pack ( )
inlinevirtual

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 from fawkes::StaticWebReply.

Definition at line 43 of file page_reply.h.

References fawkes::WebReply::code(), get_footer_enabled(), get_navbar_enabled(), pack(), set_footer_enabled(), set_html_header(), set_navbar_enabled(), and WebPageReply().

Referenced by fawkes::dynamic_reply_free_cb(), and pack().

◆ pack() [2/2]

void fawkes::WebPageReply::pack ( std::string  active_baseurl,
WebPageHeaderGenerator headergen,
WebPageFooterGenerator footergen 
)
virtual

Pack web page reply.

This method creates the final page by calling the header and footer generators if supplied (otherwise a standard header is chosen) and the body.

Parameters
active_baseurlthe active navigation URL, can be used for instance to high-light the current section in the navigation.
headergenheader generator
footergenfooter generator

Definition at line 109 of file page_reply.cpp.

References fawkes::StaticWebReply::_body, _title, fawkes::WebPageFooterGenerator::html_footer(), fawkes::WebPageHeaderGenerator::html_header(), and fawkes::HostInfo::short_name().

◆ set_footer_enabled()

void fawkes::WebPageReply::set_footer_enabled ( bool  enabled)

Enable or disable the Fawkes Webview footer (default enabled)

Parameters
enabledenabled

Definition at line 163 of file page_reply.cpp.

Referenced by pack().

◆ set_html_header()

void fawkes::WebPageReply::set_html_header ( std::string  h)
virtual

Set HTML header text.

The given text is placed in the head section of the HTML page. You can use it for example to add custom stylesheets or JavaScript.

Parameters
hheader to set

Definition at line 94 of file page_reply.cpp.

Referenced by pack(), RRDWebRequestProcessor::process_request(), WebviewBlackBoardRequestProcessor::process_request(), ROSWebviewRequestProcessor::process_request(), and WebviewPtzCamRequestProcessor::process_request().

◆ set_navbar_enabled()

void fawkes::WebPageReply::set_navbar_enabled ( bool  enabled)

Enable or disable the Fawkes Navigationbar (default enabled)

Parameters
enabledenabled

Definition at line 147 of file page_reply.cpp.

Referenced by pack().

Member Data Documentation

◆ _title

std::string fawkes::WebPageReply::_title
protected

Title of the page.

Definition at line 60 of file page_reply.h.

Referenced by pack(), fawkes::WebErrorPageReply::WebErrorPageReply(), and WebPageReply().


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