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;

Reply via email to