summaryrefslogtreecommitdiff
path: root/Remote/WebDAV.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Remote/WebDAV.hs')
-rw-r--r--Remote/WebDAV.hs14
1 files changed, 5 insertions, 9 deletions
diff --git a/Remote/WebDAV.hs b/Remote/WebDAV.hs
index ea4800c9d..ed7b82b64 100644
--- a/Remote/WebDAV.hs
+++ b/Remote/WebDAV.hs
@@ -116,19 +116,15 @@ retrieve :: Remote -> Key -> AssociatedFile -> FilePath -> Annex Bool
retrieve r k _f d = metered Nothing k $ \meterupdate ->
davAction r False $ \(baseurl, user, pass) -> liftIO $ catchBoolIO $
withStoredFiles r k baseurl user pass onerr $ \urls -> do
- meteredWriteFileChunks meterupdate d urls $
- feeder user pass
+ meteredWriteFileChunks meterupdate d urls $ \url -> do
+ mb <- davGetUrlContent url user pass
+ case mb of
+ Nothing -> throwIO "download failed"
+ Just b -> return b
return True
where
onerr _ = return False
- feeder _ _ [] = return ([], [])
- feeder user pass (url:urls) = do
- mb <- davGetUrlContent url user pass
- case mb of
- Nothing -> throwIO "download failed"
- Just b -> return (urls, L.toChunks b)
-
retrieveEncrypted :: Remote -> (Cipher, Key) -> Key -> FilePath -> Annex Bool
retrieveEncrypted r (cipher, enck) k d = metered Nothing k $ \meterupdate ->
davAction r False $ \(baseurl, user, pass) -> liftIO $ catchBoolIO $