Draft: Added EntitlementsFactoryAzure in Core-Lib-Azure
- I have added an explanation of what changes in this merge do and why we should include it? - YES
- Does the MR contain pipeline/ helm chart related changes?- NO
- I have updated the documentation accordingly.- YES
- I have added tests to cover my changes. -NA
- All new and existing tests passed.- YES
- My code follows the code style of this project. -YES
- I ran lint checks locally prior to submission.-YES
What is the issue or story related to the change?
This is one of the MRs that will be required to add configurable Retries and Timeouts functionality to the services. It adds EntilementsFactoryAzure which will have retry and timeouts enabled for the calls made to Entitlements - Service V2. This EntitlementsFactoryAzure can be used in the services which want retry and timeouts enabled for entitlements service. It is same as "EntitlementsFactory" class of core-common in Entitlements-V2, except for the fact that it will use HttpClientAzure instead of HttpClient which will have retry and timeouts enabled.
High level design: Please refer to this design doc. This MR can be seen as one of the steps taken under sub-section named "[OPTION-1]- Have our own Http Client"
Does this introduce a breaking change?
Following MR will be brought up:
- HttpClientAzure: implementation
- RetryAndTimeoutsConfiguration: properties for timeouts and retries configuration will be added
- EntitlementsFactoryAzure: retry and timeouts will be set for EntitlementsService class
- Other factory classes on the lines of EntitlementsFactoryAzure needs to be added.