Message
Message
#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.
Public Methods
| 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. |
setVersion
void setVersion(const std::string & version)Sets the HTTP version for this message.
getVersion
const
const std::string & getVersion() constReturns the HTTP version for this message.
setContentLength
void setContentLength(uint64_t length)Sets the Content-Length header.
If length is UNKNOWN_CONTENT_LENGTH, removes the Content-Length header.
getContentLength
const
uint64_t getContentLength() constReturns the content length for this message, which may be UNKNOWN_CONTENT_LENGTH if no Content-Length header is present.
hasContentLength
const
bool hasContentLength() constReturns true if a Content-Length header is present.
setTransferEncoding
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.
getTransferEncoding
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.
setChunkedTransferEncoding
void setChunkedTransferEncoding(bool flag)If flag is true, sets the Transfer-Encoding header to chunked. Otherwise, removes the Transfer-Encoding header.
isChunkedTransferEncoding
const
bool isChunkedTransferEncoding() constReturns true if the Transfer-Encoding header is set and its value is chunked.
setContentType
void setContentType(const std::string & contentType)Sets the content type for this message.
Specify NO_CONTENT_TYPE to remove the Content-Type header.
getContentType
const
const std::string & getContentType() constReturns the content type for this message.
If no Content-Type header is present, returns UNKNOWN_CONTENT_TYPE.
setKeepAlive
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.
getKeepAlive
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.
write
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.
write
virtual const
virtual void write(std::string & str) constWrites the message header to the given output string.
write
virtual const
virtual void write(Buffer & buf) constWrites the message header directly into a byte buffer.
Public Static Attributes
| 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 |
HTTP_1_0
static
const std::string HTTP_1_0HTTP_1_1
static
const std::string HTTP_1_1IDENTITY_TRANSFER_ENCODING
static
const std::string IDENTITY_TRANSFER_ENCODINGCHUNKED_TRANSFER_ENCODING
static
const std::string CHUNKED_TRANSFER_ENCODINGUNKNOWN_CONTENT_LENGTH
static
const int UNKNOWN_CONTENT_LENGTHUNKNOWN_CONTENT_TYPE
static
const std::string UNKNOWN_CONTENT_TYPECONTENT_LENGTH
static
const std::string CONTENT_LENGTHCONTENT_TYPE
static
const std::string CONTENT_TYPETRANSFER_ENCODING
static
const std::string TRANSFER_ENCODINGCONNECTION
static
const std::string CONNECTIONCONNECTION_KEEP_ALIVE
static
const std::string CONNECTION_KEEP_ALIVECONNECTION_CLOSE
static
const std::string CONNECTION_CLOSEEMPTY
static
const std::string EMPTYProtected Attributes
| Return | Name | Description |
|---|---|---|
std::string | _version |
_version
std::string _versionProtected Methods
| 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
Message()Creates the Message with version HTTP/1.0.
Message
Message(const std::string & version)Creates the Message and sets the version.
~Message
virtual
virtual ~Message()Destroys the Message.
