PROXY_DECLARE(int) ap_proxyerror(request_rec *r, int statuscode, const char *message);
PROXY_DECLARE(int) ap_proxy_checkproxyblock(request_rec *r, proxy_server_conf *conf, apr_sockaddr_t *uri_addr);
PROXY_DECLARE(int) ap_proxy_pre_http_request(conn_rec *c, request_rec *r);
-PROXY_DECLARE(void) ap_proxy_table_unmerge(apr_pool_t *p, apr_table_t *t, char *key);
/* DEPRECATED (will be replaced with ap_proxy_connect_backend */
PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **, const char *, apr_sockaddr_t *, const char *, proxy_server_conf *, request_rec *);
PROXY_DECLARE(apr_status_t) ap_proxy_ssl_connection_cleanup(proxy_conn_rec *conn,
return OK;
}
-/* unmerge an element in the table */
-PROXY_DECLARE(void) ap_proxy_table_unmerge(apr_pool_t *p, apr_table_t *t, char *key)
-{
- apr_off_t offset = 0;
- apr_off_t count = 0;
- char *value = NULL;
-
- /* get the value to unmerge */
- const char *initial = apr_table_get(t, key);
- if (!initial) {
- return;
- }
- value = apr_pstrdup(p, initial);
-
- /* remove the value from the headers */
- apr_table_unset(t, key);
-
- /* find each comma */
- while (value[count]) {
- if (value[count] == ',') {
- value[count] = 0;
- apr_table_add(t, key, value + offset);
- offset = count + 1;
- }
- count++;
- }
- apr_table_add(t, key, value + offset);
-}
-
PROXY_DECLARE(const char *) ap_proxy_location_reverse_map(request_rec *r,
proxy_dir_conf *conf, const char *url)
{