Summary
Implement the HTTP client layer using Java's built-in HttpClient. This replaces any legacy Apache HttpClient dependency.
Requirements
- Wrap
java.net.http.HttpClient for all outgoing API calls
- Support configurable connect, read, and write timeouts
- Optional request/response logging
- Accept a consumer-supplied
HttpClient instance or create a default
- Synchronous API
- No framework dependencies
Refs
initial-docs/project1.md — modern HTTP client
initial-docs/project2.md — consumer-supplied HTTP client, configurable timeouts
initial-docs/project3.md — configurable timeouts, logging
Testing
Unit tests with mocked/stubbed HTTP responses covering: successful requests, timeout handling, error responses (4xx, 5xx), request/response logging toggle. Target near-perfect coverage.
Summary
Implement the HTTP client layer using Java's built-in
HttpClient. This replaces any legacy Apache HttpClient dependency.Requirements
java.net.http.HttpClientfor all outgoing API callsHttpClientinstance or create a defaultRefs
initial-docs/project1.md— modern HTTP clientinitial-docs/project2.md— consumer-supplied HTTP client, configurable timeoutsinitial-docs/project3.md— configurable timeouts, loggingTesting
Unit tests with mocked/stubbed HTTP responses covering: successful requests, timeout handling, error responses (4xx, 5xx), request/response logging toggle. Target near-perfect coverage.