Skip to content

feat(story-1.2): core data types — Request, Response, Limits, Timeout, ClientConfig#1

Merged
lesnik512 merged 1 commit into
mainfrom
story/1-2-core-data-types
May 13, 2026
Merged

feat(story-1.2): core data types — Request, Response, Limits, Timeout, ClientConfig#1
lesnik512 merged 1 commit into
mainfrom
story/1-2-core-data-types

Conversation

@lesnik512
Copy link
Copy Markdown
Member

Frozen, slotted dataclasses providing the immutable primitives every later module builds on. Request ships four with_* mutators backed by dataclasses.replace; Response exposes content: bytes plus computed text (charset-aware, case-insensitive header lookup) and json() accessors; ClientConfig holds the minimal config bag (base_url, default_headers/query, timeout, limits) — transport, decoder, middleware, auth, redactor land in later stories.

All 8 ACs satisfied. 24 tests, 100% coverage on the new modules. just lint-ci clean.

…, ClientConfig

Frozen, slotted dataclasses providing the immutable primitives every
later module builds on. `Request` ships four `with_*` mutators backed
by `dataclasses.replace`; `Response` exposes `content: bytes` plus
computed `text` (charset-aware, case-insensitive header lookup) and
`json()` accessors; `ClientConfig` holds the minimal config bag
(base_url, default_headers/query, timeout, limits) — `transport`,
`decoder`, `middleware`, `auth`, `redactor` land in later stories.

All 8 ACs satisfied. 24 tests, 100% coverage on the new modules.
`just lint-ci` clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@lesnik512 lesnik512 merged commit 256075c into main May 13, 2026
5 checks passed
@lesnik512 lesnik512 deleted the story/1-2-core-data-types branch May 13, 2026 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant