The iOS implementation does not work as expected when the phone is disconnected. The issue is that the stream reports and error after the response has been set to be completed which means that the stream gets closed and the request is concluded as everything was correct.
Created attachment 21790 [details]
Application that can be used to test the fix. Start the application, a download will start and remove the device connection during the download (airplane mode) and an exception should be raised instead of the download being completed.
Please QA can you take this for a spin.