open-eid / digidoc4j

DigiDoc for Java. Javadoc:
http://open-eid.github.io/digidoc4j
GNU Lesser General Public License v2.1
73 stars 39 forks source link

Possibility to provide custom data loaders #24

Closed rvillido closed 4 years ago

rvillido commented 7 years ago

This change adds the possibility to provide your own data loaders so it would be possible to fine tune network connections to OCSP, TSA and TSL services.

Some integrators would like to control how the network connections are made to fine tune the performance, proxy configurations, timeouts, headers etc (instead of every integrator asking DigiDoc4j team to implement it for them).

It is now possible to create a new DataLoaderFactory for each remote service (OCSP, TSA, TLS) that creates DataLoader instances that control how network connections are made. The factories can be set in the Configuration class.

Here is an example of creating your own data loader for OCSP, TimeStamp and TSL requests:

// Implement a new data loader factory that creates custom data loaders public class MockDataLoaderFactory implements DataLoaderFactory { @Override public DataLoader create() { return new MockDataLoader(); } } MockDataLoaderFactory mockDataLoaderFactory = new MockDataLoaderFactory();

// Using it for OCSP requests configuration.setOcspDataLoaderFactory(mockDataLoaderFactory); // Using it for TimeStamp requests configuration.setTimestampDataLoaderFactory(mockDataLoaderFactory); // Using it for TSL requests configuration.setTslDataLoaderFactory(mockDataLoaderFactory);

naare commented 4 years ago

This feature is implemented with DD4J-520 as it was not possible to merge the pull request directly.