Apache HTTPD
Classes | Functions | Variables
md_curl.c File Reference
#include <assert.h>
#include <curl/curl.h>
#include <apr_lib.h>
#include <apr_strings.h>
#include <apr_buckets.h>
#include "md_http.h"
#include "md_log.h"
#include "md_util.h"
#include "md_curl.h"

Go to the source code of this file.

Classes

struct  md_curl_internals_t
 
struct  curlify_hdrs_ctx
 

Functions

static apr_status_t curl_status (unsigned int curl_code)
 
static size_t req_data_cb (void *data, size_t len, size_t nmemb, void *baton)
 
static size_t resp_data_cb (void *data, size_t len, size_t nmemb, void *baton)
 
static size_t header_cb (void *buffer, size_t elen, size_t nmemb, void *baton)
 
static int curlify_headers (void *baton, const char *key, const char *value)
 
static long timeout_msec (apr_time_t timeout)
 
static long timeout_sec (apr_time_t timeout)
 
static int curl_debug_log (CURL *curl, curl_infotype type, char *data, size_t size, void *baton)
 
static apr_status_t internals_setup (md_http_request_t *req)
 
static apr_status_t update_status (md_http_request_t *req)
 
static void fire_status (md_http_request_t *req, apr_status_t rv)
 
static apr_status_t md_curl_perform (md_http_request_t *req)
 
static md_http_request_tfind_curl_request (apr_array_header_t *requests, CURL *curl)
 
static void add_to_curlm (md_http_request_t *req, CURLM *curlm)
 
static void remove_from_curlm_and_destroy (md_http_request_t *req, CURLM *curlm)
 
static apr_status_t md_curl_multi_perform (md_http_t *http, apr_pool_t *p, md_http_next_req *nextreq, void *baton)
 
static apr_status_t md_curl_init (void)
 
static void md_curl_req_cleanup (md_http_request_t *req)
 
static void md_curl_cleanup (md_http_t *http, apr_pool_t *pool)
 
md_http_impl_tmd_curl_get_impl (apr_pool_t *p)
 

Variables

static int initialized
 
static md_http_impl_t impl
 

Function Documentation

◆ add_to_curlm()

static void add_to_curlm ( md_http_request_t req,
CURLM curlm 
)
static

Definition at line 440 of file md_curl.c.

◆ curl_debug_log()

static int curl_debug_log ( CURL curl,
curl_infotype  type,
char data,
size_t  size,
void *  baton 
)
static

Definition at line 194 of file md_curl.c.

◆ curl_status()

static apr_status_t curl_status ( unsigned int  curl_code)
static

Definition at line 34 of file md_curl.c.

◆ curlify_headers()

static int curlify_headers ( void *  baton,
const char key,
const char value 
)
static

Definition at line 165 of file md_curl.c.

◆ find_curl_request()

static md_http_request_t * find_curl_request ( apr_array_header_t requests,
CURL curl 
)
static

Definition at line 424 of file md_curl.c.

◆ fire_status()

static void fire_status ( md_http_request_t req,
apr_status_t  rv 
)
static

Definition at line 367 of file md_curl.c.

◆ header_cb()

static size_t header_cb ( void *  buffer,
size_t  elen,
size_t  nmemb,
void *  baton 
)
static

Definition at line 129 of file md_curl.c.

◆ internals_setup()

static apr_status_t internals_setup ( md_http_request_t req)
static

Definition at line 242 of file md_curl.c.

◆ md_curl_cleanup()

static void md_curl_cleanup ( md_http_t http,
apr_pool_t pool 
)
static

Definition at line 627 of file md_curl.c.

◆ md_curl_get_impl()

md_http_impl_t * md_curl_get_impl ( apr_pool_t p)

Definition at line 647 of file md_curl.c.

◆ md_curl_init()

static apr_status_t md_curl_init ( void  )
static

Definition at line 595 of file md_curl.c.

◆ md_curl_multi_perform()

static apr_status_t md_curl_multi_perform ( md_http_t http,
apr_pool_t p,
md_http_next_req nextreq,
void *  baton 
)
static

Definition at line 465 of file md_curl.c.

◆ md_curl_perform()

static apr_status_t md_curl_perform ( md_http_request_t req)
static

Definition at line 387 of file md_curl.c.

◆ md_curl_req_cleanup()

static void md_curl_req_cleanup ( md_http_request_t req)
static

Definition at line 603 of file md_curl.c.

◆ remove_from_curlm_and_destroy()

static void remove_from_curlm_and_destroy ( md_http_request_t req,
CURLM curlm 
)
static

Definition at line 453 of file md_curl.c.

◆ req_data_cb()

static size_t req_data_cb ( void *  data,
size_t  len,
size_t  nmemb,
void *  baton 
)
static

Definition at line 62 of file md_curl.c.

◆ resp_data_cb()

static size_t resp_data_cb ( void *  data,
size_t  len,
size_t  nmemb,
void *  baton 
)
static

Definition at line 105 of file md_curl.c.

◆ timeout_msec()

static long timeout_msec ( apr_time_t  timeout)
static

Definition at line 182 of file md_curl.c.

◆ timeout_sec()

static long timeout_sec ( apr_time_t  timeout)
static

Definition at line 188 of file md_curl.c.

◆ update_status()

static apr_status_t update_status ( md_http_request_t req)
static

Definition at line 349 of file md_curl.c.

Variable Documentation

◆ impl

md_http_impl_t impl
static
Initial value:
= {
}
static void md_curl_cleanup(md_http_t *http, apr_pool_t *pool)
Definition md_curl.c:627
static apr_status_t md_curl_perform(md_http_request_t *req)
Definition md_curl.c:387
static apr_status_t md_curl_init(void)
Definition md_curl.c:595
static apr_status_t md_curl_multi_perform(md_http_t *http, apr_pool_t *p, md_http_next_req *nextreq, void *baton)
Definition md_curl.c:465
static void md_curl_req_cleanup(md_http_request_t *req)
Definition md_curl.c:603

Definition at line 639 of file md_curl.c.

◆ initialized

int initialized
static

Definition at line 593 of file md_curl.c.