N.B. I've made an additional change since proposing for merge. The StringIOBodyReceiver I think is better generalized as StreamingBodyReceiver which can be useful for streaming to file. Example:
fd = open('data.bin', 'w') query = BaseQuery(..., receiver_factory=lambda: StreamingBodyReceiver(fd, readback=False)
N.B. I've made an additional change since proposing for merge. The StringIOBodyRec eiver I think is better generalized as StreamingBodyRe ceiver which can be useful for streaming to file. Example:
fd = open('data.bin', 'w') factory= lambda: StreamingBodyRe ceiver( fd, readback=False)
query = BaseQuery(..., receiver_