I'm using a custom Solr plugins which adds extra constraints on which nodes I can access.
To respect these constraints, I needed to use a customized version of CloudSolrClient.
Unfortunately, CloudSolrClient.sendRequest() is currently written as one big chunk of code, breaking OO's SOLID principle and making it is impossible for me to customize it on a subclass.
I suggest we refactor this method in 3 steps:
- Finding the usable URLs
- Checking if a node can be used for this request
- Executing the request