This is an automated email from the ASF dual-hosted git repository. zwoop pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/9.0.x by this push: new 66a2910 Support body factory template suppression for internal requests 66a2910 is described below commit 66a291073b072058d8b79009e269d9c084a9c8b4 Author: Sudheer Vinukonda <sudhe...@apache.org> AuthorDate: Tue Mar 24 15:27:26 2020 -0700 Support body factory template suppression for internal requests Repurpose unused config proxy.config.body_factory.response_suppression_mode (2) (cherry picked from commit 3a0cdb202c9f680416c194cadecd95c0d90b8cb2) --- doc/admin-guide/files/records.config.en.rst | 2 +- mgmt/RecordsConfig.cc | 2 +- proxy/http/HttpBodyFactory.cc | 26 +++++++++++--------------- 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/doc/admin-guide/files/records.config.en.rst b/doc/admin-guide/files/records.config.en.rst index da61549..2fe3bf2 100644 --- a/doc/admin-guide/files/records.config.en.rst +++ b/doc/admin-guide/files/records.config.en.rst @@ -2379,7 +2379,7 @@ Customizable User Response Pages ===== ====================================================================== ``0`` Never suppress generated response pages. ``1`` Always suppress generated response pages. - ``2`` Suppress response pages only for intercepted traffic. + ``2`` Suppress response pages only for internal traffic. ===== ====================================================================== .. ts:cv:: CONFIG proxy.config.http_ui_enabled INT 0 diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc index 13169c5..efdbdc0 100644 --- a/mgmt/RecordsConfig.cc +++ b/mgmt/RecordsConfig.cc @@ -674,7 +674,7 @@ static const RecordElement RecordsConfig[] = , //# 0 - never suppress generated responses //# 1 - always suppress generated responses - //# 2 - suppress responses for intercepted traffic + //# 2 - suppress responses for internal traffic {RECT_CONFIG, "proxy.config.body_factory.response_suppression_mode", RECD_INT, "0", RECU_RESTART_TS, RR_NULL, RECC_INT, "[0-2]", RECA_NULL} , {RECT_CONFIG, "proxy.config.body_factory.template_base", RECD_STRING, "NONE", RECU_DYNAMIC, RR_NULL, RECC_STR, ".*", RECA_NULL} diff --git a/proxy/http/HttpBodyFactory.cc b/proxy/http/HttpBodyFactory.cc index a13d06d..4622cda 100644 --- a/proxy/http/HttpBodyFactory.cc +++ b/proxy/http/HttpBodyFactory.cc @@ -73,6 +73,16 @@ HttpBodyFactory::fabricate_with_old_api(const char *type, HttpTransact::State *c bool found_requested_template = false; bool plain_flag = false; + /////////////////////////////////////////////// + // if suppressing this response, return NULL // + /////////////////////////////////////////////// + if (is_response_suppressed(context)) { + if (enable_logging) { + Log::error("BODY_FACTORY: suppressing '%s' response for url '%s'", type, url); + } + return nullptr; + } + lock(); *resulting_buffer_length = 0; @@ -99,16 +109,6 @@ HttpBodyFactory::fabricate_with_old_api(const char *type, HttpTransact::State *c } } } - /////////////////////////////////////////////// - // if suppressing this response, return NULL // - /////////////////////////////////////////////// - if (is_response_suppressed(context)) { - if (enable_logging) { - Log::error("BODY_FACTORY: suppressing '%s' response for url '%s'", type, url); - } - unlock(); - return nullptr; - } ////////////////////////////////////////////////////////////////////////////////// // if language-targeting activated, get client Accept-Language & Accept-Charset // ////////////////////////////////////////////////////////////////////////////////// @@ -673,11 +673,7 @@ HttpBodyFactory::is_response_suppressed(HttpTransact::State *context) } else if (response_suppression_mode == 1) { return true; } else if (response_suppression_mode == 2) { - if (context->req_flavor == HttpTransact::REQ_FLAVOR_INTERCEPTED) { - return true; - } else { - return false; - } + return context->request_data.internal_txn; } else { return false; }