# Buggy code
def as_requests_kwargs(self, base_url: Optional[str] = None) -> Dict[str, Any]:
    """Convert the case into a dictionary acceptable by requests."""
    base_url = self._get_base_url(base_url)
    formatted_path = self.formatted_path.lstrip("/")  # pragma: no mutate
    url = urljoin(base_url + "/", formatted_path)
    # Form data and body are mutually exclusive
    extra: Dict[str, Optional[Union[Dict, bytes]]]
    if self.form_data:
        extra = {"files": self.form_data}
    elif isinstance(self.body, bytes):
        extra = {"data": self.body}
    else:
        extra = {"json": self.body}
    return {
        "method": self.method,
        "url": url,
        "cookies": self.cookies,
        "headers": self.headers,
        "params": self.query,
        **extra,
    }


# Traceback (TypeError)
_____________________________ POST: /api/workspace/meshtransform ____________________________
Traceback (most recent call last):
File "/home/nobody/.local/share/virtualenvs/backend-TE7gHulD/lib/python3.7/site-packages/schemathesis/runner/impl/core.py", line 85, in run_test
test(checks, result, **kwargs)
File "/home/nobody/.local/share/virtualenvs/backend-TE7gHulD/lib/python3.7/site-packages/schemathesis/runner/impl/core.py", line 141, in network_test
case: Case,
File "/home/nobody/.local/share/virtualenvs/backend-TE7gHulD/lib/python3.7/site-packages/hypothesis/core.py", line 1090, in wrapped_test
raise the_error_hypothesis_found
File "/home/nobody/.local/share/virtualenvs/backend-TE7gHulD/lib/python3.7/site-packages/schemathesis/runner/impl/core.py", line 150, in network_test
response = case.call(session=session, timeout=timeout)
File "/home/nobody/.local/share/virtualenvs/backend-TE7gHulD/lib/python3.7/site-packages/schemathesis/models.py", line 124, in call
response = session.request(**data, **kwargs)  # type: ignore
File "/home/nobody/.local/share/virtualenvs/backend-TE7gHulD/lib/python3.7/site-packages/requests/sessions.py", line 516, in request
prep = self.prepare_request(req)
File "/home/nobody/.local/share/virtualenvs/backend-TE7gHulD/lib/python3.7/site-packages/requests/sessions.py", line 459, in prepare_request
hooks=merge_hooks(request.hooks, self.hooks),
File "/home/nobody/.local/share/virtualenvs/backend-TE7gHulD/lib/python3.7/site-packages/requests/models.py", line 317, in prepare
self.prepare_body(data, files, json)
File "/home/nobody/.local/share/virtualenvs/backend-TE7gHulD/lib/python3.7/site-packages/requests/models.py", line 467, in prepare_body
body = complexjson.dumps(json)
File "/usr/lib64/python3.7/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/usr/lib64/python3.7/json/encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib64/python3.7/json/encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "/usr/lib64/python3.7/json/encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type bytes is not JSON serializable

# Fixed code
def as_requests_kwargs(self, base_url: Optional[str] = None) -> Dict[str, Any]:
    """Convert the case into a dictionary acceptable by requests."""
    base_url = self._get_base_url(base_url)
    formatted_path = self.formatted_path.lstrip("/")  # pragma: no mutate
    url = urljoin(base_url + "/", formatted_path)
    # Form data and body are mutually exclusive
    extra: Dict[str, Optional[Union[Dict, bytes]]]
    if self.form_data:
        extra = {"files": self.form_data}
    elif is_multipart(self.body):
        extra = {"data": self.body}
    else:
        extra = {"json": self.body}
    return {
        "method": self.method,
        "url": url,
        "cookies": self.cookies,
        "headers": self.headers,
        "params": self.query,
        **extra,
    }