allow UploadIO to be passed in to post_io_streaming