feat: round-8 abstractions — ResilientHttpClient, MiddlewarePipeline, BgJoiner

This commit is contained in:
asepharyana
2026-08-29 19:56:37 +07:00
parent 8e66c7d887
commit 076b0bb757
5 changed files with 156 additions and 2 deletions
+18
View File
@@ -0,0 +1,18 @@
# Implementation Spec: Round 8 — COMPLETE
## New Feature
### ResilientHttpClient (mytheclipse-http, resilience)
File: `crates/mytheclipse-http/src/resilient_client.rs`
- `ResilientHttpClient` — reqwest Client + ServiceBuilder pipeline (retry/circuit/timeout)
- `ResilientClientConfig` — timeout, max_attempts, rate, circuit_breaker
- `send(req)` / `get(url)` / `post(url, body)` — all run through ServiceBuilder::run
- Error type `RunError<Box<dyn Error>>` (HttpError alias)
- 2 tests
## Modified
- http/Cargo.toml: +resilience feature, mytheclipse dep features=full
- http/lib.rs: +module +export
- core/lib.rs: pub use RunError, ServiceConfig from service_builder
Build: exit 0. Tests: 0 FAILED. Clippy: 0 new warnings.