Summary
Refactor _wrap_callback’s inner function in decorators.py to use match for timeout normalization and request body → bytes conversion.
Precise location
- File:
src/mock_vws/_requests_mock_server/decorators.py
- Method:
MockVWS._wrap_callback → nested wrapped
- Lines: approximately 170–186
Branch 1: timeout from req_kwargs
isinstance(timeout, tuple) → use read component timeout[1]
- Then
isinstance(timeout, (int, float)) → effective = float(timeout)
Candidate: match timeout: with case tuple():, case int() | float():, case _: effective = None (preserve current semantics).
Branch 2: request.body
None → b""
isinstance(raw_body, str) → UTF-8 encode
- Else → treat as bytes
Candidate: match raw_body: with case None:, case str():, case _: (bytes).
Acceptance criteria
Summary
Refactor
_wrap_callback’s inner function indecorators.pyto usematchfor timeout normalization and request body → bytes conversion.Precise location
src/mock_vws/_requests_mock_server/decorators.pyMockVWS._wrap_callback→ nestedwrappedBranch 1:
timeoutfromreq_kwargsisinstance(timeout, tuple)→ use read componenttimeout[1]isinstance(timeout, (int, float))→effective = float(timeout)Candidate:
match timeout:withcase tuple():,case int() | float():,case _: effective = None(preserve current semantics).Branch 2:
request.bodyNone→b""isinstance(raw_body, str)→ UTF-8 encodeCandidate:
match raw_body:withcase None:,case str():,case _:(bytes).Acceptance criteria
requests.exceptions.Timeoutbehavior unchanged.