Fawkes API
Fawkes Development Version
|
23 #ifndef _LIBS_WEBVIEW_REPLY_H_
24 #define _LIBS_WEBVIEW_REPLY_H_
98 typedef std::map<std::string, std::string>
HeaderMap;
105 void add_header(
const std::string &header,
const std::string &content);
106 void add_header(
const std::string &header_string);
121 static bool caching_default_;
132 virtual size_t next_chunk(
size_t pos,
char *buffer,
size_t buf_max_size) = 0;
144 virtual const std::string &
body();
@ HTTP_NOT_IMPLEMENTED
NOT_IMPLEMENTED.
@ HTTP_UNPROCESSABLE_ENTITY
UNPROCESSABLE_ENTITY.
@ HTTP_GATEWAY_TIMEOUT
GATEWAY_TIMEOUT.
@ HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
REQUESTED_RANGE_NOT_SATISFIABLE.
Web request meta data carrier.
@ HTTP_HTTP_VERSION_NOT_SUPPORTED
HTTP_VERSION_NOT_SUPPORTED.
@ HTTP_SWITCH_PROXY
SWITCH_PROXY.
void set_code(Code code)
Set response code.
@ HTTP_MULTIPLE_CHOICES
MULTIPLE_CHOICES.
virtual size_t next_chunk(size_t pos, char *buffer, size_t buf_max_size)=0
Get data of next chunk.
@ HTTP_UNAUTHORIZED
UNAUTHORIZED.
@ HTTP_SWITCHING_PROTOCOLS
SWITCHING_PROTOCOLS.
@ HTTP_BAD_GATEWAY
BAD_GATEWAY.
virtual size_t chunk_size()
Chunksize.
void set_request(WebRequest *request)
Set associated request.
@ HTTP_PAYMENT_REQUIRED
PAYMENT_REQUIRED.
@ HTTP_BANDWIDTH_LIMIT_EXCEEDED
BANDWIDTH_LIMIT_EXCEEDED.
@ HTTP_NOT_FOUND
NOT_FOUND.
@ HTTP_EXPECTATION_FAILED
EXPECTATION_FAILED.
void set_caching(bool caching)
Enable or disable caching for this specific reply.
@ HTTP_RETRY_WITH
RETRY_WITH.
DynamicWebReply(Code code)
Constructor.
@ HTTP_UNSUPPORTED_MEDIA_TYPE
UNSUPPORTED_MEDIA_TYPE.
StaticWebReply & operator+=(std::string text)
Append simple text line.
@ HTTP_PRECONDITION_FAILED
PRECONDITION_FAILED.
virtual void pack()
Pack the data.
WebReply(Code code)
Constructor.
void pack_caching()
Called just before the reply is sent.
const HeaderMap & headers() const
get headers.
virtual std::string::size_type body_length()
Get length of body.
@ HTTP_SERVICE_UNAVAILABLE
SERVICE_UNAVAILABLE.
@ HTTP_SEE_OTHER
SEE_OTHER.
@ HTTP_MULTI_STATUS
MULTI_STATUS.
@ HTTP_NOT_MODIFIED
NOT_MODIFIED.
@ HTTP_NO_CONTENT
NO_CONTENT.
@ HTTP_BAD_REQUEST
BAD_REQUEST.
Fawkes library namespace.
void append_body(const char *format,...)
Append to body.
@ HTTP_FORBIDDEN
FORBIDDEN.
@ HTTP_UPGRADE_REQUIRED
UPGRADE_REQUIRED.
@ HTTP_PROXY_AUTHENTICATION_REQUIRED
PROXY_AUTHENTICATION_REQUIRED.
void add_header(const std::string &header, const std::string &content)
Add a HTTP header.
static void set_caching_default(bool caching)
Enable or disable caching default for replies.
@ HTTP_REQUEST_URI_TOO_LONG
REQUEST_URI_TOO_LONG.
@ HTTP_LENGTH_REQUIRED
LENGTH_REQUIRED.
@ HTTP_NOT_EXTENDED
NOT_EXTENDED.
@ HTTP_METHOD_NOT_ACCEPTABLE
METHOD_NOT_ACCEPTABLE.
std::map< std::string, std::string > HeaderMap
Map of headers.
@ HTTP_RESET_CONTENT
RESET_CONTENT.
@ HTTP_USE_PROXY
USE_PROXY.
@ HTTP_UNORDERED_COLLECTION
UNORDERED_COLLECTION.
@ HTTP_METHOD_NOT_ALLOWED
METHOD_NOT_ALLOWED.
@ HTTP_VARIANT_ALSO_NEGOTIATES
VARIANT_ALSO_NEGOTIATES.
WebReply * no_caching(WebReply *reply)
Disable caching on a reply.
virtual const std::string & body()
Get body.
Code code() const
Get response code.
std::string _body
Body of the reply.
@ HTTP_NON_AUTHORITATIVE_INFORMATION
NON_AUTHORITATIVE_INFORMATION.
@ HTTP_MOVED_PERMANENTLY
MOVED_PERMANENTLY.
@ HTTP_TEMPORARY_REDIRECT
TEMPORARY_REDIRECT.
virtual size_t size()=0
Total size of the web reply.
WebRequest * get_request() const
Get associated request.
StaticWebReply(Code code, std::string body="")
Constructor.
virtual ~WebReply()
Destructor.
@ HTTP_PARTIAL_CONTENT
PARTIAL_CONTENT.
@ HTTP_PROCESSING
PROCESSING.
@ HTTP_INTERNAL_SERVER_ERROR
INTERNAL_SERVER_ERROR.
@ HTTP_REQUEST_TIMEOUT
REQUEST_TIMEOUT.
@ HTTP_FAILED_DEPENDENCY
FAILED_DEPENDENCY.
@ HTTP_INSUFFICIENT_STORAGE
INSUFFICIENT_STORAGE.
@ HTTP_REQUEST_ENTITY_TOO_LARGE
REQUEST_ENTITY_TOO_LARGE.