* Refactor HTTP code into a common utility class
Centralizes the six (slightly) different implementations to use
a common Apache HTTP Client 5 implementation which implements our
strategies for retries, timeouts, error handling, etc.
Apache HTTP Client 5 adds support for Retry-After headers, HTTP/2,
and a bunch of other stuff under the covers.
Moves request delay to a request interceptor and fixes calculation
of the delay (again). Increase retries from 1x to 3x and use delay*2
as the default retry interval, if no Retry-After header. Uses an
exponential backoff strategy for multiple retries.
* Reuses HTTP client across requests
* Use IOException instead of Exception for HTTP errors
* Refactor test helper
Create a version of the assert that uses the standard parameter
order and deprecate the version that uses inverted order.
* Use consistent Assert class and parameter ordering
* Harden reconciliation - Fixes#2590
- check for non-JSON / unparseable JSON returns
- handle malformed results response with no name for candidates
- catch any Exception, not just IOExceptions
- call processManager.onFailedProcess() for cleanup on error
* Add default constructor for Jackson
Jackson complains about needing a default constructor for the
NON_DEFAULT annotation, but I'm not sure why this worked before.
* Clean up indentation and unused variable - no functional changes
Make indentation consistent throughout the module, changing recently
added lines to use the standard all spaces convention.
Remove unused count variable
* Simplify control flow
* Update limit parameter comment. No functional change.
* Replace ternary expression which is causing NPE
* Add reconciliation tests using mock HTTP server
* Changed cell.error to cell.errorMessage & added help data.
Changed cell.error to cell.errorMessage and added the informations into the internal help system.
* FR Text correction
* HU Fix text
3 instead of 2.