Skip to content

Commit a76f5db

Browse files
abelmilash-msftAbel Milashclaude
authored
Refactor: extract pure-logic base classes to prepare for async implementation (#167)
## Summary Extracts pure logic (URL building, payload construction, parsing, caches, multipart serialization) from the sync clients into shared base classes `_ODataBase` and `_BatchBase`. The sync clients now inherit from these bases. The async client (Phase 2) will inherit from the same bases as a sibling, enabling code sharing without the async client being a subtype of the sync client. - `_ODataBase` — pure logic extracted from `_ODataClient`; owns cache teardown and HTTP logger lifecycle via `close()` - `_BatchBase` — pure logic extracted from `_BatchClient`; owns multipart serialization and response parsing ## Tests 1369 passed Total coverage: 94.35% (threshold: 90%) Co-authored-by: Abel Milash <abelmilash@microsoft.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent a5db9da commit a76f5db

7 files changed

Lines changed: 1581 additions & 1372 deletions

File tree

0 commit comments

Comments
 (0)