Apache2
|
Go to the source code of this file.
Data Structures | |
struct | md_http_callbacks_t |
struct | md_http_timeouts_t |
struct | md_http_request_t |
struct | md_http_response_t |
struct | md_http_impl_t |
Typedefs | |
typedef struct md_http_t | md_http_t |
typedef struct md_http_request_t | md_http_request_t |
typedef struct md_http_response_t | md_http_response_t |
typedef apr_status_t | md_http_status_cb(const md_http_request_t *req, apr_status_t status, void *data) |
typedef apr_status_t | md_http_response_cb(const md_http_response_t *res, void *data) |
typedef struct md_http_callbacks_t | md_http_callbacks_t |
typedef struct md_http_timeouts_t | md_http_timeouts_t |
typedef apr_status_t | md_http_next_req(md_http_request_t **preq, void *baton, md_http_t *http, int in_flight) |
typedef apr_status_t | md_http_init_cb(void) |
typedef void | md_http_cleanup_cb(md_http_t *req, apr_pool_t *p) |
typedef void | md_http_req_cleanup_cb(md_http_request_t *req) |
typedef apr_status_t | md_http_perform_cb(md_http_request_t *req) |
typedef apr_status_t | md_http_multi_perform_cb(md_http_t *http, apr_pool_t *p, md_http_next_req *nextreq, void *baton) |
typedef struct md_http_impl_t | md_http_impl_t |
typedef struct md_http_callbacks_t md_http_callbacks_t |
typedef void md_http_cleanup_cb(md_http_t *req, apr_pool_t *p) |
typedef struct md_http_impl_t md_http_impl_t |
typedef apr_status_t md_http_init_cb(void) |
typedef apr_status_t md_http_multi_perform_cb(md_http_t *http, apr_pool_t *p, md_http_next_req *nextreq, void *baton) |
typedef apr_status_t md_http_next_req(md_http_request_t **preq, void *baton, md_http_t *http, int in_flight) |
Return the next request for processing on APR_SUCCESS. Return ARP_ENOENT when no request is available. Anything else is an error.
typedef apr_status_t md_http_perform_cb(md_http_request_t *req) |
typedef void md_http_req_cleanup_cb(md_http_request_t *req) |
typedef struct md_http_request_t md_http_request_t |
typedef apr_status_t md_http_response_cb(const md_http_response_t *res, void *data) |
Callback invoked when the complete response has been received.
typedef struct md_http_response_t md_http_response_t |
typedef apr_status_t md_http_status_cb(const md_http_request_t *req, apr_status_t status, void *data) |
Callback invoked once per request, either when an error was encountered or when everything succeeded and the request is about to be released. Only in the last case will the status be APR_SUCCESS.
typedef struct md_http_timeouts_t md_http_timeouts_t |
apr_status_t md_http_clone | ( | md_http_t ** | phttp, |
apr_pool_t * | p, | ||
md_http_t * | source_http | ||
) |
Clone a http instance, inheriting all settings from source_http. The cloned instance is not tied in any way to the source.
apr_status_t md_http_create | ( | md_http_t ** | phttp, |
apr_pool_t * | p, | ||
const char * | user_agent, | ||
const char * | proxy_url | ||
) |
apr_status_t md_http_GET_create | ( | md_http_request_t ** | preq, |
md_http_t * | http, | ||
const char * | url, | ||
struct apr_table_t * | headers | ||
) |
Create a GET request.
preq | the created request after success |
http | the md_http instance |
url | the url to GET |
headers | request headers |
void* md_http_get_impl_data | ( | md_http_t * | http | ) |
apr_status_t md_http_GET_perform | ( | md_http_t * | http, |
const char * | url, | ||
struct apr_table_t * | headers, | ||
md_http_response_cb * | cb, | ||
void * | baton | ||
) |
apr_status_t md_http_HEAD_create | ( | md_http_request_t ** | preq, |
md_http_t * | http, | ||
const char * | url, | ||
struct apr_table_t * | headers | ||
) |
Create a HEAD request.
preq | the created request after success |
http | the md_http instance |
url | the url to GET |
headers | request headers |
apr_status_t md_http_HEAD_perform | ( | md_http_t * | http, |
const char * | url, | ||
struct apr_table_t * | headers, | ||
md_http_response_cb * | cb, | ||
void * | baton | ||
) |
apr_status_t md_http_multi_perform | ( | md_http_t * | http, |
md_http_next_req * | nextreq, | ||
void * | baton | ||
) |
Perform requests in parallel as retrieved from the nextreq function. There are as many requests in flight as the nextreq functions provides.
To limit the number of parallel requests, nextreq should return APR_ENOENT when the limit is reached. It will be called again when the number of in_flight requests changes.
When all requests are done, nextreq will be called one more time. Should it not return anything, this function returns.
apr_status_t md_http_perform | ( | md_http_request_t * | request | ) |
Perform the request. Then this function returns, the request and all its memory has been freed and must no longer be used.
apr_status_t md_http_POST_create | ( | md_http_request_t ** | preq, |
md_http_t * | http, | ||
const char * | url, | ||
struct apr_table_t * | headers, | ||
const char * | content_type, | ||
struct apr_bucket_brigade * | body, | ||
int | detect_len | ||
) |
Create a POST request with a bucket brigade as request body.
preq | the created request after success |
http | the md_http instance |
url | the url to GET |
headers | request headers |
content_type | the content_type of the body or NULL |
body | the body of the request or NULL |
detect_len | scan the body to detect its length |
apr_status_t md_http_POST_perform | ( | md_http_t * | http, |
const char * | url, | ||
struct apr_table_t * | headers, | ||
const char * | content_type, | ||
struct apr_bucket_brigade * | body, | ||
int | detect_len, | ||
md_http_response_cb * | cb, | ||
void * | baton | ||
) |
apr_status_t md_http_POSTd_create | ( | md_http_request_t ** | preq, |
md_http_t * | http, | ||
const char * | url, | ||
struct apr_table_t * | headers, | ||
const char * | content_type, | ||
const struct md_data_t * | body | ||
) |
Create a POST request with known request body data.
preq | the created request after success |
http | the md_http instance |
url | the url to GET |
headers | request headers |
content_type | the content_type of the body or NULL |
body | the body of the request or NULL |
apr_status_t md_http_POSTd_perform | ( | md_http_t * | http, |
const char * | url, | ||
struct apr_table_t * | headers, | ||
const char * | content_type, | ||
const struct md_data_t * | body, | ||
md_http_response_cb * | cb, | ||
void * | baton | ||
) |
void md_http_req_destroy | ( | md_http_request_t * | req | ) |
void md_http_set_ca_file | ( | md_http_t * | http, |
const char * | ca_file | ||
) |
Set a CA file (in PERM format) to use for root certificates when verifying SSL connections. If not set (or set to NULL), the systems certificate store will be used.
void md_http_set_connect_timeout | ( | md_http_request_t * | req, |
apr_time_t | timeout | ||
) |
void md_http_set_connect_timeout_default | ( | md_http_t * | http, |
apr_time_t | timeout | ||
) |
Set the timeout for establishing a connection. Set to 0 the have no special timeout for this.
void md_http_set_impl_data | ( | md_http_t * | http, |
void * | data | ||
) |
get/set data the implementation wants to remember between requests in the same md_http_t instance.
void md_http_set_on_response_cb | ( | md_http_request_t * | req, |
md_http_response_cb * | cb, | ||
void * | baton | ||
) |
Set the callback to be invoked when the complete response has been successfully received. The HTTP status may be 500, however.
req | the request |
cb | the callback to invoke on the response |
baton | data passed to the callback |
void md_http_set_on_status_cb | ( | md_http_request_t * | req, |
md_http_status_cb * | cb, | ||
void * | baton | ||
) |
Set the callback to be invoked once the status of a request is known.
req | the request |
cb | the callback to invoke on the response |
baton | data passed to the callback |
void md_http_set_stalling | ( | md_http_request_t * | req, |
long | bytes_per_sec, | ||
apr_time_t | timeout | ||
) |
void md_http_set_stalling_default | ( | md_http_t * | http, |
long | bytes_per_sec, | ||
apr_time_t | timeout | ||
) |
Set the condition for when a transfer is considered "stalled", e.g. does not progress at a sufficient rate and will be aborted. Set to 0 the have no stall detection in place.
void md_http_set_timeout | ( | md_http_request_t * | req, |
apr_time_t | timeout | ||
) |
void md_http_set_timeout_default | ( | md_http_t * | http, |
apr_time_t | timeout | ||
) |
Set the timeout for the complete request. This needs to take everything from DNS looksups, to conntects, to transfer of all data into account and should be sufficiently large. Set to 0 the have no timeout for this.
void md_http_set_unix_socket_path | ( | md_http_t * | http, |
const char * | path | ||
) |
Set the path of a unix domain socket for use instead of TCP in a connection. Disable by providing NULL as path.
void md_http_use_implementation | ( | md_http_impl_t * | impl | ) |