Consolidating Http Clients used in OSDU services
To make calls to external services in OSDU two http clients are being used
HttpClient is not a spring component and it is instantiated every time HttpClient needs to be used.
Below are some of the usages of both the clients
- https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/provider/storage-gcp/src/main/java/org/opengroup/osdu/storage/provider/gcp/credentials/StorageCredential.java#L56
- https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/provider/storage-azure/src/main/java/org/opengroup/osdu/storage/provider/azure/simpledelivery/integration/searchservice/SearchServiceFacade.java#L64
- https://community.opengroup.org/osdu/platform/system/search-service/-/blob/master/search-core/src/main/java/org/opengroup/osdu/search/smart/models/AttributeCollection.java#L71
- https://community.opengroup.org/osdu/platform/system/indexer-service/-/blob/master/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/StorageServiceImpl.java#L63
These 2 http clients should be consolidated into single http client. The consolidated HttpClient must be a spring component and can be autowired at other places. Maintaining one http client is easier to manage in longer term. Any enhancements going further can be made in only one client.