summaryrefslogtreecommitdiff
path: root/requests/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'requests/utils.py')
-rw-r--r--requests/utils.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/requests/utils.py b/requests/utils.py
index c5c3fd01..c9746d64 100644
--- a/requests/utils.py
+++ b/requests/utils.py
@@ -83,7 +83,12 @@ def super_len(o):
)
if hasattr(o, 'tell'):
- current_position = o.tell()
+ try:
+ current_position = o.tell()
+ except (OSError, IOError):
+ # This can happen in some weird situations, such as when the file
+ # is actually a special file descriptor like stdin.
+ current_position = 0
return max(0, total_length - current_position)