Open
Description
Currently, HTTP-related classes in MSAL Java are difficult to maintain and test:
- A few core classes contain most of the behavior, but there are more than a dozen classes containing some aspect of our HTTP calls
- The original implementation and ad hoc changes over the years do not follow Java best practices for interfaces, builders, factories, etc.
- The overall structure and internal APIs have little in common other MSALs
These classes should be investigated to identify how they can follow modern Java design principles, and to ensure that their structure and behavior is consistent with other MSALs, particularly MSAL .NET