diff options
author | Joey Hess <joey@kitenet.net> | 2012-11-18 20:06:28 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-11-18 20:30:05 -0400 |
commit | 6aa68125b6d476f0ad9372a0f0fbaa5c118e7096 (patch) | |
tree | baadc0f86773f86903239e242559df8553bd41fa /Crypto.hs | |
parent | ac71b499ac6d53408cfce19a1ddd00bfa4b2645f (diff) |
upload progress bars for webdav!
Diffstat (limited to 'Crypto.hs')
-rw-r--r-- | Crypto.hs | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -19,6 +19,7 @@ module Crypto ( decryptCipher, encryptKey, feedFile, + feedFileMetered, feedBytes, readBytes, encrypt, @@ -36,6 +37,8 @@ import Common.Annex import qualified Utility.Gpg as Gpg import Types.Key import Types.Crypto +import Types.Remote +import Utility.Observed {- The first half of a Cipher is used for HMAC; the remainder - is used as the GPG symmetric encryption passphrase. @@ -122,6 +125,11 @@ type Reader a = Handle -> IO a feedFile :: FilePath -> Feeder feedFile f h = L.hPut h =<< L.readFile f +feedFileMetered :: FilePath -> MeterUpdate -> Feeder +feedFileMetered f m to = withBinaryFile f ReadMode $ \h -> do + b <- hGetContentsObserved h $ m . toInteger + L.hPut to b + feedBytes :: L.ByteString -> Feeder feedBytes = flip L.hPut |