Loading modules/proxy/mod_proxy.h +1 −0 Original line number Diff line number Diff line Loading @@ -243,5 +243,6 @@ int ap_proxy_is_word(struct dirconn_entry *This, apr_pool_t *p); int ap_proxy_checkproxyblock(request_rec *r, proxy_server_conf *conf, apr_sockaddr_t *uri_addr); int ap_proxy_pre_http_connection(conn_rec *c, request_rec *r); apr_status_t ap_proxy_string_read(conn_rec *c, apr_bucket_brigade *bb, char *buff, size_t bufflen); void ap_proxy_reset_output_filters(conn_rec *c); #endif /*MOD_PROXY_H*/ modules/proxy/proxy_http.c +4 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,9 @@ int ap_proxy_http_handler(request_rec *r, char *url, origin = conf->connection; new = 0; /* reset the connection filters */ ap_proxy_reset_output_filters(origin); /* XXX FIXME: If the socket has since closed, change new to 1 so * a new socket is opened */ } Loading Loading @@ -699,6 +702,7 @@ int ap_proxy_http_handler(request_rec *r, char *url, if ((buf = ap_proxy_removestr(r->pool, buf, "chunked"))) { apr_table_set(r->headers_out, "Transfer-Encoding", buf); } /* FIXME: Make sure this filter is removed if this connection is reused */ ap_add_input_filter("DECHUNK", NULL, rp, origin); } Loading modules/proxy/proxy_util.c +19 −0 Original line number Diff line number Diff line Loading @@ -1131,6 +1131,25 @@ apr_status_t ap_proxy_string_read(conn_rec *c, apr_bucket_brigade *bb, char *buf } /* remove other filters (like DECHUNK) from filter stack */ void ap_proxy_reset_output_filters(conn_rec *c) { ap_filter_t *f = c->output_filters; while (f) { if (!strcasecmp(f->frec->name, "CORE") || !strcasecmp(f->frec->name, "CONTENT_LENGTH") || !strcasecmp(f->frec->name, "HTTP_HEADER")) { f = f->next; continue; } else { ap_remove_output_filter(f); f = f->next; } } } #if defined WIN32 static DWORD tls_index; Loading Loading
modules/proxy/mod_proxy.h +1 −0 Original line number Diff line number Diff line Loading @@ -243,5 +243,6 @@ int ap_proxy_is_word(struct dirconn_entry *This, apr_pool_t *p); int ap_proxy_checkproxyblock(request_rec *r, proxy_server_conf *conf, apr_sockaddr_t *uri_addr); int ap_proxy_pre_http_connection(conn_rec *c, request_rec *r); apr_status_t ap_proxy_string_read(conn_rec *c, apr_bucket_brigade *bb, char *buff, size_t bufflen); void ap_proxy_reset_output_filters(conn_rec *c); #endif /*MOD_PROXY_H*/
modules/proxy/proxy_http.c +4 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,9 @@ int ap_proxy_http_handler(request_rec *r, char *url, origin = conf->connection; new = 0; /* reset the connection filters */ ap_proxy_reset_output_filters(origin); /* XXX FIXME: If the socket has since closed, change new to 1 so * a new socket is opened */ } Loading Loading @@ -699,6 +702,7 @@ int ap_proxy_http_handler(request_rec *r, char *url, if ((buf = ap_proxy_removestr(r->pool, buf, "chunked"))) { apr_table_set(r->headers_out, "Transfer-Encoding", buf); } /* FIXME: Make sure this filter is removed if this connection is reused */ ap_add_input_filter("DECHUNK", NULL, rp, origin); } Loading
modules/proxy/proxy_util.c +19 −0 Original line number Diff line number Diff line Loading @@ -1131,6 +1131,25 @@ apr_status_t ap_proxy_string_read(conn_rec *c, apr_bucket_brigade *bb, char *buf } /* remove other filters (like DECHUNK) from filter stack */ void ap_proxy_reset_output_filters(conn_rec *c) { ap_filter_t *f = c->output_filters; while (f) { if (!strcasecmp(f->frec->name, "CORE") || !strcasecmp(f->frec->name, "CONTENT_LENGTH") || !strcasecmp(f->frec->name, "HTTP_HEADER")) { f = f->next; continue; } else { ap_remove_output_filter(f); f = f->next; } } } #if defined WIN32 static DWORD tls_index; Loading