summaryrefslogtreecommitdiff
path: root/Remote/S3real.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Remote/S3real.hs')
-rw-r--r--Remote/S3real.hs13
1 files changed, 5 insertions, 8 deletions
diff --git a/Remote/S3real.hs b/Remote/S3real.hs
index f40deaf17..5095b4039 100644
--- a/Remote/S3real.hs
+++ b/Remote/S3real.hs
@@ -99,22 +99,19 @@ s3Setup u c = do
store :: Remote Annex -> Key -> Annex Bool
store r k = s3Action r False $ \(conn, bucket) -> do
- content <- lazyKeyContent k
+ g <- Annex.gitRepo
+ content <- liftIO $ L.readFile $ gitAnnexLocation g k
res <- liftIO $ storeHelper (conn, bucket) r k content
s3Bool res
storeEncrypted :: Remote Annex -> (Cipher, Key) -> Key -> Annex Bool
storeEncrypted r (cipher, enck) k = s3Action r False $ \(conn, bucket) -> do
- content <- lazyKeyContent k
- res <- liftIO $ withEncryptedContent cipher (return content) $ \s -> do
+ g <- Annex.gitRepo
+ let f = gitAnnexLocation g k
+ res <- liftIO $ withEncryptedContent cipher (L.readFile f) $ \s -> do
storeHelper (conn, bucket) r enck s
s3Bool res
-lazyKeyContent :: Key -> Annex L.ByteString
-lazyKeyContent k = do
- g <- Annex.gitRepo
- liftIO $ L.readFile $ gitAnnexLocation g k
-
storeHelper :: (AWSConnection, String) -> Remote Annex -> Key -> L.ByteString -> IO (AWSResult ())
storeHelper (conn, bucket) r k content = do
let object = setStorageClass storageclass $ bucketKey bucket k content