This is an automated email from the ASF dual-hosted git repository. dsmiley pushed a commit to branch branch_10x in repository https://gitbox.apache.org/repos/asf/solr.git
commit b5eaec732be1f4d647907a04f53870a43ac93a7c Author: David Smiley <[email protected]> AuthorDate: Tue Oct 27 00:57:24 2026 -0400 HttpJettySolrClient: expose applyListeners (#5195) Co-authored-by: Claude Sonnet 5.5 <[email protected]> (cherry picked from commit ee2f1bf2e0109956145d7fd995da63c4091a589f) --- .../client/solrj/jetty/HttpJettySolrClient.java | 26 ++++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.java b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.java index 056218cef9c..f4e5307bada 100644 --- a/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.java +++ b/solr/solrj-jetty/src/java/org/apache/solr/client/solrj/jetty/HttpJettySolrClient.java @@ -214,7 +214,11 @@ public class HttpJettySolrClient extends HttpSolrClient { } } - /** internal use only */ + /** + * FOR INTERNAL USE: The underlying Jetty HttpClient. Warning: a request created directly from it + * doesn't have some settings applied that {@link #decorateRequest(Request, SolrRequest, boolean)} + * will do. Call {@link #applyListeners} to apply the listeners. + */ public HttpClient getHttpClient() { return httpClient; } @@ -640,6 +644,19 @@ public class HttpJettySolrClient extends HttpSolrClient { } } + /** + * FOR INTERNAL USE: Applies this client's request listeners (e.g. internode authentication and + * tracing) to a request created directly from {@link #getHttpClient()}. + */ + public void applyListeners(Request req) { + for (HttpListenerFactory factory : listenerFactory) { + HttpListenerFactory.RequestResponseListener listener = factory.get(); + listener.onQueued(req); + req.onRequestBegin(listener); + req.onComplete(listener); + } + } + protected void decorateRequest(Request req, SolrRequest<?> solrRequest, boolean isAsync) { req.headers(h -> h.remove(HttpHeader.ACCEPT_ENCODING)); Map<String, String> customHeaders = solrRequest.getHeaders(); @@ -662,12 +679,7 @@ public class HttpJettySolrClient extends HttpSolrClient { } setBasicAuthHeader(solrRequest, req); - for (HttpListenerFactory factory : listenerFactory) { - HttpListenerFactory.RequestResponseListener listener = factory.get(); - listener.onQueued(req); - req.onRequestBegin(listener); - req.onComplete(listener); - } + applyListeners(req); AsyncTracker asyncTracker = isAsync ? this.asyncTracker : null; AbortTracker abortTracker = this.abortTracker;
