1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

mod_proxy: Add tunnel_forward hook.

* modules/proxy/mod_proxy.h, modules/proxy/mod_proxy.c:
  Declare/implement the hook.

* modules/proxy/proxy_util.c(proxy_transfer):
  Run tunnel_forward hooks when called by the tunneling loop.
  Simpler input/output brigade cleanup on exit.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1893603 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yann Ylavic
2021-09-24 15:52:50 +00:00
parent b44b9b6b2a
commit 3d2842e915
5 changed files with 86 additions and 18 deletions

View File

@@ -3474,6 +3474,7 @@ APR_HOOK_STRUCT(
APR_HOOK_LINK(post_request)
APR_HOOK_LINK(request_status)
APR_HOOK_LINK(check_trans)
APR_HOOK_LINK(tunnel_forward)
)
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(proxy, PROXY, int, scheme_handler,
@@ -3517,3 +3518,9 @@ APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(proxy, PROXY, int, request_status,
APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(proxy, PROXY, int, detach_backend,
(request_rec *r, proxy_conn_rec *backend),
(r, backend), OK, DECLINED)
APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(proxy, PROXY, int, tunnel_forward,
(proxy_tunnel_rec *tunnel,
conn_rec *c_i, conn_rec *c_o,
apr_bucket_brigade *bb),
(tunnel, c_i, c_o, bb),
OK, DECLINED)