|
davix
|
Http low level request interface. More...
#include <httprequest.hpp>
Public Member Functions | |
| HttpRequest (Context &context, const Uri &url, DavixError **err) | |
| HttpRequest constructor with a defined URL. | |
| HttpRequest (Context &context, const std::string &url, DavixError **err) | |
| HttpRequest constructor with a defined URL from a string. | |
| HttpRequest (NEONRequest *req) | |
| HttpRequest internal usage. | |
| void | addHeaderField (const std::string &field, const std::string &value) |
| void | setRequestMethod (const std::string &method) |
| set the request method ( "GET", "PUT", ... ) | |
| void | setParameters (const RequestParams ¶meters) |
| set the request parameter | |
| int | executeRequest (DavixError **err) |
| execute this request completely | |
| void | setRequestBody (const std::string &body) |
| void | setRequestBody (const void *buffer, dav_size_t len_buff) |
| void | setRequestBody (int fd, dav_off_t offset, dav_size_t len) |
| void | setRequestBody (HttpBodyProvider provider, dav_size_t len, void *udata) |
| void | setRequestBody (ContentProvider &provider) |
| int | beginRequest (DavixError **err) |
| start a multi-part HTTP Request | |
| dav_ssize_t | readBlock (char *buffer, dav_size_t max_size, DavixError **err) |
| dav_ssize_t | readBlock (std::vector< char > &buffer, dav_size_t max_size, DavixError **err) |
| dav_ssize_t | readSegment (char *buffer, dav_size_t max_size, DavixError **err) |
| dav_ssize_t | readToFd (int fd, DavixError **err) |
| dav_ssize_t | readToFd (int fd, dav_size_t read_size, DavixError **err) |
| dav_ssize_t | readLine (char *buffer, dav_size_t max_size, DavixError **err) |
| void | discardBody (DavixError **err) |
| int | endRequest (DavixError **err) |
| const char * | getAnswerContent () |
| std::vector< char > & | getAnswerContentVec () |
| dav_ssize_t | getAnswerSize () const |
| time_t | getLastModified () const |
| void | clearAnswerContent () |
| int | getRequestCode () |
| bool | getAnswerHeader (const std::string &header_name, std::string &value) const |
| size_t | getAnswerHeaders (HeaderVec &vec_headers) const |
| DEPRECATED (HttpCacheToken *extractCacheToken() const) | |
| DEPRECATED (void useCacheToken(const HttpCacheToken *token)) | |
| void | setFlag (const RequestFlag::RequestFlag flag, bool value) |
| set a HttpRequest flag | |
| bool | getFlag (const RequestFlag::RequestFlag flag) |
| get a HttpRequest flag value | |
Http low level request interface.
HTTPRequest is the main davix class for low level HTTP queries.
HTTPRequest objects are provided by Davix::Context
| Davix::HttpRequest::HttpRequest | ( | Context & | context, |
| const Uri & | url, | ||
| DavixError ** | err | ||
| ) |
HttpRequest constructor with a defined URL.
| context | davix context |
| url | URL of the resource |
| err | Davix error report system |
| Davix::HttpRequest::HttpRequest | ( | Context & | context, |
| const std::string & | url, | ||
| DavixError ** | err | ||
| ) |
HttpRequest constructor with a defined URL from a string.
| context | davix context |
| url | URL of the resource |
| err | Davix error report system |
| Davix::HttpRequest::HttpRequest | ( | NEONRequest * | req | ) |
HttpRequest internal usage.
| req |
| void Davix::HttpRequest::addHeaderField | ( | const std::string & | field, |
| const std::string & | value | ||
| ) |
add a optional HTTP header request replace an existing one if already exist if the content of value of the header field is empty : remove an existing one
| field | header field name |
| value | header field value |
| int Davix::HttpRequest::beginRequest | ( | DavixError ** | err | ) |
start a multi-part HTTP Request
the multi-part HTTP Request of davix should be used for request with a large answer
| err | : DavixError error report system |
| void Davix::HttpRequest::clearAnswerContent | ( | ) |
clear the current result
| Davix::HttpRequest::DEPRECATED | ( | HttpCacheToken *extractCacheToken() const | ) |
| Davix::HttpRequest::DEPRECATED | ( | void | useCacheTokenconst HttpCacheToken *token | ) |
| void Davix::HttpRequest::discardBody | ( | DavixError ** | err | ) |
| int Davix::HttpRequest::endRequest | ( | DavixError ** | err | ) |
finish a request stated with beginRequest
| int Davix::HttpRequest::executeRequest | ( | DavixError ** | err | ) |
execute this request completely
the answer is accessible with Davix::HttpRequest::getAnswerContent
| err | davix error report |
| const char * Davix::HttpRequest::getAnswerContent | ( | ) |
return the body of the answer
| std::vector< char > & Davix::HttpRequest::getAnswerContentVec | ( | ) |
return the body of the answer in a vector
| bool Davix::HttpRequest::getAnswerHeader | ( | const std::string & | header_name, |
| std::string & | value | ||
| ) | const |
get the value associated to a header key in the request answer
| header_name | : key of the header field |
| value | : reference of the string to set |
| size_t Davix::HttpRequest::getAnswerHeaders | ( | HeaderVec & | vec_headers | ) | const |
get all the headers associated with this answer
| vec_headers | : vector of headers |
| dav_ssize_t Davix::HttpRequest::getAnswerSize | ( | ) | const |
get content length
| time_t Davix::HttpRequest::getLastModified | ( | ) | const |
get last modified time
| int Davix::HttpRequest::getRequestCode | ( | ) |
| dav_ssize_t Davix::HttpRequest::readBlock | ( | char * | buffer, |
| dav_size_t | max_size, | ||
| DavixError ** | err | ||
| ) |
read a block of a maximum size bytes in the answer can return < max_size bytes depending of the data available
| buffer | : buffer to fill |
| max_size | : maximum number of byte to read |
| err | : DavixError error report system |
| dav_ssize_t Davix::HttpRequest::readBlock | ( | std::vector< char > & | buffer, |
| dav_size_t | max_size, | ||
| DavixError ** | err | ||
| ) |
read a block of a maximum size bytes in the answer into buffer can return < max_size bytes depending of the data available
| buffer | : vector to fill |
| max_size | : maximum number of byte to read |
| err | : DavixError error report system |
| dav_ssize_t Davix::HttpRequest::readLine | ( | char * | buffer, |
| dav_size_t | max_size, | ||
| DavixError ** | err | ||
| ) |
read a line of text of a maximum size bytes in the answer
| buffer | : buffer to fill |
| max_size | : maximum number of bytes to read |
| err | : DavixError error report system |
| dav_ssize_t Davix::HttpRequest::readSegment | ( | char * | buffer, |
| dav_size_t | max_size, | ||
| DavixError ** | err | ||
| ) |
read a segment of size bytes, return always max_size excepted if the end of the content is reached
| buffer | : vector to fill |
| max_size | : maximum number of byte to read |
| err | : DavixError error report system |
| dav_ssize_t Davix::HttpRequest::readToFd | ( | int | fd, |
| dav_size_t | read_size, | ||
| DavixError ** | err | ||
| ) |
write the first 'read_size' first bytes to the given file descriptor
| fd | : buffer to fill |
| read_size | : number of bytes to read |
| err | : DavixError error report system |
| dav_ssize_t Davix::HttpRequest::readToFd | ( | int | fd, |
| DavixError ** | err | ||
| ) |
write the full answer content to the given file descriptor
| fd | : buffer to fill |
| err | : DavixError error report system |
| void Davix::HttpRequest::setParameters | ( | const RequestParams & | parameters | ) |
set the request parameter
| parameters | Davix Request parameters |
define the request parameters, can be used to define parameters such as authentication scheme, timeout or user agent.
| void Davix::HttpRequest::setRequestBody | ( | const std::string & | body | ) |
set the content of the request from a string an empty string set no request content
| void Davix::HttpRequest::setRequestBody | ( | const void * | buffer, |
| dav_size_t | len_buff | ||
| ) |
set the content of the request from a buffer NULL pointer means a empty content
| void Davix::HttpRequest::setRequestBody | ( | ContentProvider & | provider | ) |
set a content provider object to provide the body of the requests
| void Davix::HttpRequest::setRequestBody | ( | HttpBodyProvider | provider, |
| dav_size_t | len, | ||
| void * | udata | ||
| ) |
set a callback to provide the body of the requests
| void Davix::HttpRequest::setRequestBody | ( | int | fd, |
| dav_off_t | offset, | ||
| dav_size_t | len | ||
| ) |
set the content of the request from a file descriptor start at offset and read a maximum of len bytes
| void Davix::HttpRequest::setRequestMethod | ( | const std::string & | method | ) |
set the request method ( "GET", "PUT", ... )
| method | request method |