20#include <sys/socket.h>
24#error This module only works on unix platforms with the correct OS support
29module AP_MODULE_DECLARE_DATA proxy_fdpass_module;
96 memset(&msg, 0,
sizeof(msg));
111 msg.msg_control =
cmsg;
112 msg.msg_controllen =
cmsg->cmsg_len;
143 "Failed to connect to '%s'",
url);
156 "Unable to find configured flush provider '%s'",
185 "failed to create dummy socket");
211 "ap_pass_brigade failed:");
#define AP_DECLARE_MODULE(foo)
char * ap_server_root_relative(apr_pool_t *p, const char *fname)
request_rec int int apr_table_t const char * path
apr_status_t ap_pass_brigade(ap_filter_t *filter, apr_bucket_brigade *bucket)
apr_socket_t * ap_get_conn_socket(conn_rec *c)
#define ap_set_core_module_config(v, val)
apr_status_t ap_register_provider(apr_pool_t *pool, const char *provider_group, const char *provider_name, const char *provider_version, const void *provider)
void * ap_lookup_provider(const char *provider_group, const char *provider_name, const char *provider_version)
#define APR_BRIGADE_INSERT_TAIL(b, e)
#define HTTP_INTERNAL_SERVER_ERROR
apr_status_t ap_proxy_connect_uds(apr_socket_t *sock, const char *uds_path, apr_pool_t *p)
void proxy_hook_canon_handler(proxy_HOOK_canon_handler_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
void proxy_hook_scheme_handler(proxy_HOOK_scheme_handler_t *pf, const char *const *aszPre, const char *const *aszSucc, int nOrder)
#define STANDARD20_MODULE_STUFF
int ap_cstr_casecmpn(const char *s1, const char *s2, apr_size_t n)
Proxy Extension Module for Apache.
static const proxy_fdpass_flush builtin_flush
static apr_status_t send_socket(apr_pool_t *p, apr_socket_t *s, apr_socket_t *outbound)
static int proxy_fdpass_handler(request_rec *r, proxy_worker *worker, proxy_server_conf *conf, char *url, const char *proxyname, apr_port_t proxyport)
static void register_hooks(apr_pool_t *p)
static int proxy_fdpass_canon(request_rec *r, char *url)
static apr_status_t get_socket_from_path(apr_pool_t *p, const char *path, apr_socket_t **out_sock)
static int standard_flush(request_rec *r)
#define PROXY_FDPASS_FLUSHER
ap_conn_keepalive_e keepalive
struct apr_bucket_alloc_t * bucket_alloc
struct ap_conf_vector_t * conn_config
A structure that represents the current request.
struct ap_filter_t * output_filters
apr_status_t apr_os_sock_get(apr_os_sock_t *thesock, apr_socket_t *sock)
apr_status_t apr_socket_create(apr_socket_t **new, int ofamily, int type, int protocol, apr_pool_t *cont)