File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -163,12 +163,12 @@ def maybe_filter_request_body(
163163 omit : typing .Optional [typing .Any ],
164164) -> typing .Optional [typing .Any ]:
165165 if data is None :
166- return (
167- jsonable_encoder ( request_options . get ( "additional_body_parameters" , {}))
168- or {}
169- if request_options is not None
170- else None
171- )
166+ if request_options is None :
167+ return None
168+ additional_body_parameters = request_options . get ( "additional_body_parameters" )
169+ if not additional_body_parameters :
170+ return None
171+ return jsonable_encoder ( additional_body_parameters )
172172 elif not isinstance (data , typing .Mapping ):
173173 data_content = jsonable_encoder (data )
174174 else :
Original file line number Diff line number Diff line change 1+ from langfuse .api .core .http_client import get_request_body
2+
3+
4+ def test_get_request_body_skips_empty_body_when_no_additional_parameters () -> None :
5+ json_body , data_body = get_request_body (
6+ json = None ,
7+ data = None ,
8+ request_options = {"timeout_in_seconds" : 30 },
9+ omit = None ,
10+ )
11+
12+ assert json_body is None
13+ assert data_body is None
14+
15+
16+ def test_get_request_body_includes_additional_body_parameters () -> None :
17+ json_body , data_body = get_request_body (
18+ json = None ,
19+ data = None ,
20+ request_options = {"additional_body_parameters" : {"foo" : "bar" }},
21+ omit = None ,
22+ )
23+
24+ assert json_body == {"foo" : "bar" }
25+ assert data_body is None
26+
27+
28+ def test_get_request_body_skips_empty_additional_body_parameters () -> None :
29+ json_body , data_body = get_request_body (
30+ json = None ,
31+ data = None ,
32+ request_options = {"additional_body_parameters" : {}},
33+ omit = None ,
34+ )
35+
36+ assert json_body is None
37+ assert data_body is None
You can’t perform that action at this time.
0 commit comments