Davix::HttpRequest Class Reference
Public Member Functions |
| HttpRequest (NEONRequest *req) |
| HttpRequest (Context &context, const Uri &uri, DavixError **err) |
| HttpRequest (Context &context, const std::string &url, DavixError **err) |
void | addHeaderField (const std::string &field, const std::string &value) |
void | setRequestMethod (const std::string &request_str) |
void | setParameters (const RequestParams &p) |
int | executeRequest (DavixError **err) |
| execute this request completely
|
void | setRequestBodyString (const std::string &body) |
void | setRequestBodyBuffer (const void *buffer, size_t len_buff) |
void | setRequestBodyFileDescriptor (int fd, off_t offset, size_t len) |
void | setRequestBodyCallback (HttpBodyProvider provider, size_t len, void *udata) |
int | beginRequest (DavixError **err) |
| start a multi-part HTTP Request
|
ssize_t | readBlock (char *buffer, size_t max_size, DavixError **err) |
ssize_t | readLine (char *buffer, size_t max_size, DavixError **err) |
int | endRequest (DavixError **err) |
const char * | getAnswerContent () |
| get a reference to the internal anwser content buffer
|
size_t | getAnswerSize () const |
| get content length
|
void | clearAnswerContent () |
int | getRequestCode () |
bool | getAnswerHeader (const std::string &header_name, std::string &value) const |
Friends |
class | NEONRequest |
class | NEONSessionFactory |
Member Function Documentation
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
- Parameters:
-
| 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
example : DavixError* tmp_err=NULL; beginRequest(&tmp_err) // do{ ret= readBlock(buffer, size_read, &tmp_err); } while(ret > 0); endRequest(&tmp_err);
- Parameters:
-
- Returns:
- return 0 if success, or a negative value if an error occures
void Davix::HttpRequest::clearAnswerContent |
( |
|
) |
|
int Davix::HttpRequest::endRequest |
( |
DavixError ** |
err |
) |
|
finish a request stated with beginRequest
int Davix::HttpRequest::executeRequest |
( |
DavixError ** |
err |
) |
|
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
- Parameters:
-
| header_name | : key of the header field |
| value | : reference of the string to set |
- Returns:
- true if this header exist or false if it does not
int Davix::HttpRequest::getRequestCode |
( |
|
) |
|
- Returns:
- current request code error undefined if executeRequest or beginRequest has not be called before
ssize_t Davix::HttpRequest::readBlock |
( |
char * |
buffer, |
|
|
size_t |
max_size, |
|
|
DavixError ** |
err | |
|
) |
| | |
read a block of a maximum size bytes in the request
- Parameters:
-
| buffer | : buffer to fill |
| max_size | : maximum number of byte to read |
| err | : DavixError error report system |
- Returns:
- number of bytes readed
ssize_t Davix::HttpRequest::readLine |
( |
char * |
buffer, |
|
|
size_t |
max_size, |
|
|
DavixError ** |
err | |
|
) |
| | |
read a line of text of a maximum size bytes in the request
- Parameters:
-
| buffer | : buffer to fill |
| max_size | : maximum number of bytes to read |
| err | : DavixError error report system |
- Returns:
- number of bytes readed, if return == max_size -> the line too big
void Davix::HttpRequest::setRequestBodyBuffer |
( |
const void * |
buffer, |
|
|
size_t |
len_buff | |
|
) |
| | |
set the content of the request from a buffer NULL pointer means a empty content
void Davix::HttpRequest::setRequestBodyCallback |
( |
HttpBodyProvider |
provider, |
|
|
size_t |
len, |
|
|
void * |
udata | |
|
) |
| | |
set a callback to provide the body of the requests
void Davix::HttpRequest::setRequestBodyFileDescriptor |
( |
int |
fd, |
|
|
off_t |
offset, |
|
|
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::setRequestBodyString |
( |
const std::string & |
body |
) |
|
set the content of the request from a string an empty string set no request content
- Warning:
- this string is not duplicated internally for performance reasons
void Davix::HttpRequest::setRequestMethod |
( |
const std::string & |
request_str |
) |
|
set the request command to execute ( GET, POST, etc... ) DEFAULT : GET
The documentation for this class was generated from the following file: