Files
requests3/requests/core/http_manager/util/response.py
T
kennethreitz c9a188add2 requests core
Signed-off-by: Kenneth Reitz <me@kennethreitz.org>
2018-03-16 18:16:55 -04:00

31 lines
733 B
Python

from __future__ import absolute_import
def is_fp_closed(obj):
"""
Checks whether a given file-like object is closed.
:param obj:
The file-like object to check.
"""
try:
# Check for our own base response class.
return obj.complete
except AttributeError:
pass
try:
# Check via the official file-like-object way.
return obj.closed
except AttributeError:
pass
try:
# Check if the object is a container for another file-like object that
# gets released on exhaustion (e.g. HTTPResponse).
return obj.fp is None
except AttributeError:
pass
raise ValueError("Unable to determine whether fp is closed.")