Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 14 additions & 12 deletions src/mock_vws/_requests_mock_server/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,23 +167,25 @@ def wrapped(
# requests allows timeout as a (connect, read)
# tuple. The delay simulates server response
# time, so compare against the read timeout.
if isinstance(timeout, tuple):
timeout = timeout[1]
effective: float | None = None
if isinstance(timeout, (int, float)):
effective = float(timeout)
match timeout:
case (_, int() | float() as read_timeout):
effective: float | None = float(read_timeout)
case int() | float():
effective = float(timeout)
case _:
effective = None
Comment thread
cursor[bot] marked this conversation as resolved.

if effective is not None and delay_seconds > effective:
sleep_fn(effective)
raise requests.exceptions.Timeout

raw_body = request.body
if raw_body is None:
body_bytes = b""
elif isinstance(raw_body, str):
body_bytes = raw_body.encode(encoding="utf-8")
else:
body_bytes = raw_body
match request.body:
case None:
body_bytes = b""
case str() as raw_body:
body_bytes = raw_body.encode(encoding="utf-8")
case _:
body_bytes = request.body

path = request.path_url
if base_path and path.startswith(base_path):
Expand Down
Loading