Use HEAD HTTP request to avoid downloading file twice #63
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've tested the DockerMsftProvider in a VM with a simulated slow network connection and could reproduce the problem that the ZIP file isn't downloaded.
Looking closer it turns out that retrieving the download size is the problem. This has downloaded the whole zip file and then we retrieved the size.
This PR does a HEAD request to just retrieve the header and not the whole file.
With the simulated 4MBit connection the download takes about 6-8 minutes and
Invoke-WebRequest
does a good job.Fixes #15
Fixes MicrosoftDocs/Virtualization-Documentation#919
Credits: Thanks @InteXX for showing me #15 (comment) which helped me to find the root cause of the problem.