The code checks if body is a string by doing if body.lower:. That passes if it is a string, but throws an exception if body is a io.BufferedReader, such as what one gets from
with open('someFile.bin', 'rb') as f:
with boddle(body=f):
pass
It would also fail if the file-like object happens to have a lower method/attribute
The code checks if
bodyis a string by doingif body.lower:. That passes if it is a string, but throws an exception if body is aio.BufferedReader, such as what one gets fromIt would also fail if the file-like object happens to have a
lowermethod/attribute