Skip to content

Commit 096a31d

Browse files
authored
Merge pull request #172 from ImMin5/master
Modify calculate response size logic for mongoengine queryset
2 parents 9267178 + a82317e commit 096a31d

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/spaceone/core/service/__init__.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -271,12 +271,20 @@ def _pipeline(
271271

272272
def _get_response_size(response_or_iterator: Any) -> int:
273273
try:
274-
if isinstance(response_or_iterator, dict):
274+
if response_or_iterator is None:
275+
return 0
276+
277+
if isinstance(response_or_iterator, tuple):
278+
response_or_iterator = response_or_iterator[0]
279+
280+
if isinstance(response_or_iterator, (dict, list)):
275281
response_size = len(json.dumps(response_or_iterator, ensure_ascii=False))
276-
elif isinstance(response_or_iterator, (bytes, bytearray)):
282+
elif isinstance(response_or_iterator, (bytes, bytearray, str)):
277283
response_size = len(response_or_iterator)
278-
elif response_or_iterator is None:
279-
response_size = 0
284+
elif hasattr(response_or_iterator, "to_json"):
285+
response_size = len(response_or_iterator.to_json())
286+
elif hasattr(response_or_iterator, "__dict__"):
287+
response_size = len(json.dumps(response_or_iterator, ensure_ascii=False))
280288
else:
281289
response_size = -1
282290
except Exception:

0 commit comments

Comments
 (0)