#include <icy/http/message.h>Inherits:
NVCollectionSubclassed by:Request,Response
The base class for Request and Response.
Defines the common properties of all HTTP messages. These are version, content length, content type and transfer encoding.
| Return | Name | Description |
|---|---|---|
void | setVersion | Sets the HTTP version for this message. |
const std::string & | getVersion const | Returns the HTTP version for this message. |
void | setContentLength | Sets the Content-Length header. |
uint64_t | getContentLength const | Returns the content length for this message, which may be UNKNOWN_CONTENT_LENGTH if no Content-Length header is present. |
bool | hasContentLength const | Returns true if a Content-Length header is present. |
void | setTransferEncoding | Sets the transfer encoding for this message. |
const std::string & | getTransferEncoding const | Returns the transfer encoding used for this message. |
void | setChunkedTransferEncoding | If flag is true, sets the Transfer-Encoding header to chunked. Otherwise, removes the Transfer-Encoding header. |
bool | isChunkedTransferEncoding const | Returns true if the Transfer-Encoding header is set and its value is chunked. |
void | setContentType | Sets the content type for this message. |
const std::string & | getContentType const | Returns the content type for this message. |
void | setKeepAlive | Sets the value of the Connection header field. |
bool | getKeepAlive const | Returns true if |
void | write virtual const | Writes the message header to the given output stream. |
void | write virtual const | Writes the message header to the given output string. |
void | write virtual const | Writes the message header directly into a byte buffer. |
void setVersion(const std::string & version)Sets the HTTP version for this message.
const
const std::string & getVersion() constReturns the HTTP version for this message.
void setContentLength(uint64_t length)Sets the Content-Length header.
If length is UNKNOWN_CONTENT_LENGTH, removes the Content-Length header.
const
uint64_t getContentLength() constReturns the content length for this message, which may be UNKNOWN_CONTENT_LENGTH if no Content-Length header is present.
const
bool hasContentLength() constReturns true if a Content-Length header is present.
void setTransferEncoding(const std::string & transferEncoding)Sets the transfer encoding for this message.
The value should be either IDENTITY_TRANSFER_CODING or CHUNKED_TRANSFER_CODING.
const
const std::string & getTransferEncoding() constReturns the transfer encoding used for this message.
Normally, this is the value of the Transfer-Encoding header field. If no such field is present, returns IDENTITY_TRANSFER_CODING.
void setChunkedTransferEncoding(bool flag)If flag is true, sets the Transfer-Encoding header to chunked. Otherwise, removes the Transfer-Encoding header.
const
bool isChunkedTransferEncoding() constReturns true if the Transfer-Encoding header is set and its value is chunked.
void setContentType(const std::string & contentType)Sets the content type for this message.
Specify NO_CONTENT_TYPE to remove the Content-Type header.
const
const std::string & getContentType() constReturns the content type for this message.
If no Content-Type header is present, returns UNKNOWN_CONTENT_TYPE.
void setKeepAlive(bool keepAlive)Sets the value of the Connection header field.
The value is set to "Keep-Alive" if keepAlive is true, or to "Close" otherwise.
const
bool getKeepAlive() constReturns true if
the message has a Connection header field and its value is "Keep-Alive"
the message is an HTTP/1.1 message and no Connection header is set Returns false otherwise.
virtual const
virtual void write(std::ostream & ostr) constWrites the message header to the given output stream.
The format is one name-value pair per line, with name and value separated by a colon and lines delimited by a carriage return and a linefeed character. See RFC 2822 for details.
virtual const
virtual void write(std::string & str) constWrites the message header to the given output string.
virtual const
virtual void write(Buffer & buf) constWrites the message header directly into a byte buffer.
| Return | Name | Description |
|---|---|---|
const std::string | HTTP_1_0 static | |
const std::string | HTTP_1_1 static | |
const std::string | IDENTITY_TRANSFER_ENCODING static | |
const std::string | CHUNKED_TRANSFER_ENCODING static | |
const int | UNKNOWN_CONTENT_LENGTH static | |
const std::string | UNKNOWN_CONTENT_TYPE static | |
const std::string | CONTENT_LENGTH static | |
const std::string | CONTENT_TYPE static | |
const std::string | TRANSFER_ENCODING static | |
const std::string | CONNECTION static | |
const std::string | CONNECTION_KEEP_ALIVE static | |
const std::string | CONNECTION_CLOSE static | |
const std::string | EMPTY static |
static
const std::string HTTP_1_0static
const std::string HTTP_1_1static
const std::string IDENTITY_TRANSFER_ENCODINGstatic
const std::string CHUNKED_TRANSFER_ENCODINGstatic
const int UNKNOWN_CONTENT_LENGTHstatic
const std::string UNKNOWN_CONTENT_TYPEstatic
const std::string CONTENT_LENGTHstatic
const std::string CONTENT_TYPEstatic
const std::string TRANSFER_ENCODINGstatic
const std::string CONNECTIONstatic
const std::string CONNECTION_KEEP_ALIVEstatic
const std::string CONNECTION_CLOSEstatic
const std::string EMPTY| Return | Name | Description |
|---|---|---|
std::string | _version |
std::string _version| Return | Name | Description |
|---|---|---|
Message | Creates the Message with version HTTP/1.0. | |
Message | Creates the Message and sets the version. | |
~Message virtual | Destroys the Message. |
Message()Creates the Message with version HTTP/1.0.
Message(const std::string & version)Creates the Message and sets the version.
virtual
virtual ~Message()Destroys the Message.