This is an automated email from the ASF dual-hosted git repository.
dsmiley pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new ee2f1bf2e01 HttpJettySolrClient: expose applyListeners (#5195)
ee2f1bf2e01 is described below
commit ee2f1bf2e0109956145d7fd995da63c4091a589f
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]>
---
.../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 f6f2a0718a1..45b9c3c0e87 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
@@ -211,7 +211,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;
}
@@ -637,6 +641,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();
@@ -659,12 +676,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;