Skip to content

Commit 6d2f239

Browse files
committed
Download License as Child Async with Timeout, add Timeout to the WebRequest. Should fix #746.
1 parent 4a19d93 commit 6d2f239

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

‎src/Paket.Core/NuGetV2.fs‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,7 @@ let DownloadLicense(root,force,name,version:SemVerInfo,licenseUrl,targetFileName
421421
request.UserAgent <- "Paket"
422422
request.UseDefaultCredentials <- true
423423
request.Proxy <- Utils.getDefaultProxyFor licenseUrl
424+
request.Timeout <- 3000
424425
use! httpResponse = request.AsyncGetResponse()
425426

426427
use httpResponseStream = httpResponse.GetResponseStream()
@@ -452,6 +453,8 @@ let DownloadPackage(root, auth, url, name, version:SemVerInfo, force) =
452453
// discover the link on the fly
453454
let! nugetPackage = getDetailsFromNuget force auth url name version
454455
try
456+
let! license = Async.StartChild(DownloadLicense(root,force,name,version,nugetPackage.LicenseUrl,licenseFileName), 3000)
457+
455458
tracefn "Downloading %s %A to %s" name version targetFileName
456459

457460
let request = HttpWebRequest.Create(Uri nugetPackage.DownloadUrl) :?> HttpWebRequest
@@ -486,8 +489,8 @@ let DownloadPackage(root, auth, url, name, version:SemVerInfo, force) =
486489
let! bytes = httpResponseStream.AsyncRead(buffer, 0, bufferSize)
487490
bytesRead := bytes
488491
do! fileStream.AsyncWrite(buffer, 0, !bytesRead)
489-
490-
do! DownloadLicense(root,force,name,version,nugetPackage.LicenseUrl,licenseFileName)
492+
493+
do! license
491494
with
492495
| exn -> failwithf "Could not download %s %A.%s %s" name version Environment.NewLine exn.Message
493496

0 commit comments

Comments
 (0)