Apache HTTPD
md_http.h
Go to the documentation of this file.
1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef mod_md_md_http_h
18#define mod_md_md_http_h
19
20struct apr_table_t;
23struct md_data_t;
24
25typedef struct md_http_t md_http_t;
26
29
36
41
49
57
77
84
85apr_status_t md_http_create(md_http_t **phttp, apr_pool_t *p, const char *user_agent,
86 const char *proxy_url);
87
88void md_http_set_response_limit(md_http_t *http, apr_off_t resp_limit);
89
96
105
112
120
126void md_http_set_ca_file(md_http_t *http, const char *ca_file);
127
132void md_http_set_unix_socket_path(md_http_t *http, const char *path);
133
139
147
157
166 struct apr_table_t *headers);
167
176 struct apr_table_t *headers);
177
189 struct apr_table_t *headers, const char *content_type,
190 struct apr_bucket_brigade *body, int detect_len);
191
202 struct apr_table_t *headers, const char *content_type,
203 const struct md_data_t *body);
204
205/*
206 * Convenience functions for create+perform.
207 */
209 struct apr_table_t *headers,
210 md_http_response_cb *cb, void *baton);
212 struct apr_table_t *headers,
213 md_http_response_cb *cb, void *baton);
215 struct apr_table_t *headers, const char *content_type,
216 struct apr_bucket_brigade *body, int detect_len,
217 md_http_response_cb *cb, void *baton);
219 struct apr_table_t *headers, const char *content_type,
220 const struct md_data_t *body,
221 md_http_response_cb *cb, void *baton);
222
224
229 md_http_t *http, int in_flight);
230
242
243/**************************************************************************************************/
244/* interface to implementation */
245
251 md_http_next_req *nextreq, void *baton);
252
261
263
268void md_http_set_impl_data(md_http_t *http, void *data);
270
271
272#endif /* md_http_h */
request_rec int int apr_table_t const char * path
ap_vhost_iterate_conn_cb void * baton
Definition http_vhost.h:87
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
Definition apr_dbd.h:287
const char * url
Definition apr_escape.h:120
apr_size_t size
int apr_status_t
Definition apr_errno.h:44
void * data
int int status
apr_int64_t apr_time_t
Definition apr_time.h:45
static md_http_impl_t impl
Definition md_curl.c:639
apr_pool_t * p
Definition md_event.c:32
void md_http_set_response_limit(md_http_t *http, apr_off_t resp_limit)
Definition md_http.c:124
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)
Definition md_http.c:373
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_set_connect_timeout(md_http_request_t *req, apr_time_t timeout)
Definition md_http.c:144
void md_http_set_ca_file(md_http_t *http, const char *ca_file)
Definition md_http.c:161
apr_status_t md_http_init_cb(void)
Definition md_http.h:246
apr_status_t md_http_clone(md_http_t **phttp, apr_pool_t *p, md_http_t *source_http)
Definition md_http.c:95
void md_http_set_connect_timeout_default(md_http_t *http, apr_time_t timeout)
Definition md_http.c:139
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)
Definition md_http.c:328
void md_http_req_cleanup_cb(md_http_request_t *req)
Definition md_http.h:248
apr_status_t md_http_perform_cb(md_http_request_t *req)
Definition md_http.h:249
apr_status_t md_http_response_cb(const md_http_response_t *res, void *data)
Definition md_http.h:40
void * md_http_get_impl_data(md_http_t *http)
Definition md_http.c:119
void md_http_set_stalling_default(md_http_t *http, long bytes_per_sec, apr_time_t timeout)
Definition md_http.c:149
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)
Definition md_http.c:349
apr_status_t md_http_multi_perform(md_http_t *http, md_http_next_req *nextreq, void *baton)
Definition md_http.c:282
void md_http_set_on_status_cb(md_http_request_t *req, md_http_status_cb *cb, void *baton)
Definition md_http.c:252
apr_status_t md_http_multi_perform_cb(md_http_t *http, apr_pool_t *p, md_http_next_req *nextreq, void *baton)
Definition md_http.h:250
void md_http_set_unix_socket_path(md_http_t *http, const char *path)
Definition md_http.c:166
apr_status_t md_http_GET_create(md_http_request_t **preq, md_http_t *http, const char *url, struct apr_table_t *headers)
Definition md_http.c:291
void md_http_set_timeout_default(md_http_t *http, apr_time_t timeout)
Definition md_http.c:129
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)
Definition md_http.c:361
void md_http_set_on_response_cb(md_http_request_t *req, md_http_response_cb *cb, void *baton)
Definition md_http.c:258
apr_status_t md_http_perform(md_http_request_t *request)
Definition md_http.c:264
apr_status_t md_http_create(md_http_t **phttp, apr_pool_t *p, const char *user_agent, const char *proxy_url)
Definition md_http.c:61
void md_http_use_implementation(md_http_impl_t *impl)
Definition md_http.c:44
void md_http_set_stalling(md_http_request_t *req, long bytes_per_sec, apr_time_t timeout)
Definition md_http.c:155
apr_status_t md_http_HEAD_create(md_http_request_t **preq, md_http_t *http, const char *url, struct apr_table_t *headers)
Definition md_http.c:302
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)
Definition md_http.c:313
apr_status_t md_http_next_req(md_http_request_t **preq, void *baton, md_http_t *http, int in_flight)
Definition md_http.h:228
void md_http_set_timeout(md_http_request_t *req, apr_time_t timeout)
Definition md_http.c:134
void md_http_set_impl_data(md_http_t *http, void *data)
Definition md_http.c:114
void md_http_cleanup_cb(md_http_t *req, apr_pool_t *p)
Definition md_http.h:247
void md_http_req_destroy(md_http_request_t *req)
Definition md_http.c:243
apr_status_t md_http_status_cb(const md_http_request_t *req, apr_status_t status, void *data)
Definition md_http.h:35
void * on_response_data
Definition md_http.h:47
md_http_response_cb * on_response
Definition md_http.h:46
void * on_status_data
Definition md_http.h:45
md_http_status_cb * on_status
Definition md_http.h:44
md_http_cleanup_cb * cleanup
Definition md_http.h:259
md_http_perform_cb * perform
Definition md_http.h:257
md_http_multi_perform_cb * multi_perform
Definition md_http.h:258
md_http_init_cb * init
Definition md_http.h:255
md_http_req_cleanup_cb * req_cleanup
Definition md_http.h:256
apr_pool_t * pool
Definition md_http.h:60
apr_table_t * headers
Definition md_http.h:69
struct apr_bucket_alloc_t * bucket_alloc
Definition md_http.h:62
apr_off_t body_len
Definition md_http.h:71
struct apr_bucket_brigade * body
Definition md_http.h:70
md_http_callbacks_t cb
Definition md_http.h:74
void * internals
Definition md_http.h:75
apr_off_t resp_limit
Definition md_http.h:72
const char * proxy_url
Definition md_http.h:66
const char * user_agent
Definition md_http.h:65
md_http_timeouts_t timeout
Definition md_http.h:73
const char * url
Definition md_http.h:64
const char * ca_file
Definition md_http.h:67
md_http_t * http
Definition md_http.h:59
const char * method
Definition md_http.h:63
const char * unix_socket_path
Definition md_http.h:68
apr_table_t * headers
Definition md_http.h:81
struct apr_bucket_brigade * body
Definition md_http.h:82
md_http_request_t * req
Definition md_http.h:79
long stall_bytes_per_sec
Definition md_http.h:54
apr_time_t stalled
Definition md_http.h:55
apr_time_t connect
Definition md_http.h:53
apr_time_t overall
Definition md_http.h:52
IN ULONG IN INT timeout