api: make .open() stream data for Azure

This employs generating temporary signed public url and then streaming
from it. The bulk of the code might be reused for other remotes.

Url streaming does resume on connection error using "Range" header and
regenerates public url too.

If remote class doesn't provide .open() then this falls back to pulling
a file and opening it locally.
This commit is contained in:
Alexander Schepanovski
2019-08-09 21:51:43 +07:00
parent e0e02a9f6b
commit e5e29065c8
7 changed files with 208 additions and 24 deletions
+1
View File
@@ -107,6 +107,7 @@ tests_requirements = [
"jaraco.windows==3.9.2",
"mock-ssh-server>=0.5.0",
"moto>=1.3.14.dev55",
"rangehttpserver==1.2.0",
]
if (sys.version_info) >= (3, 6):