stack-1.4.0: The Haskell Tool Stack

Safe HaskellNone




verifiedDownload Source #


:: (MonadIO m, MonadLogger m) 
=> DownloadRequest 
-> Path Abs File


-> (Maybe Integer -> Sink ByteString IO ())

custom hook to observe progress

-> m Bool

Whether a download was performed

Copied and extended version of

Has the following additional features: * Verifies that response content-length header (if present) matches expected length * Limits the download to (close to) the expected # of bytes * Verifies that the expected # bytes were downloaded (not too few) * Verifies md5 if response includes content-md5 header * Verifies the expected hashes

Throws VerifiedDownloadException. Throws IOExceptions related to file system operations. Throws HttpException.

recoveringHttp :: (MonadMask m, MonadIO m) => RetryPolicy -> m a -> m a Source #

data DownloadRequest Source #

A request together with some checks to perform.

drRetryPolicyDefault :: RetryPolicy Source #

Default to retrying thrice with a short constant delay.