packages feed

antiope-s3 6.1.3 → 6.1.4

raw patch · 2 files changed

+21/−15 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Antiope.S3.Lazy: downloadRequest :: (MonadAWS m, MonadResource m) => GetObject -> m (Maybe ByteString)
+ Antiope.S3.Lazy: unsafeDownloadRequest :: (MonadAWS m, MonadResource m) => GetObject -> m ByteString

Files

antiope-s3.cabal view
@@ -2,10 +2,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: b136f26caee3f70a03b45b3a3210ac5a8432285cc62b59f1ceb669e17839bded+-- hash: 3ca4d7ebcb62cbfab41eb5730b74a19e7bfef678711ad92e24e8e7fbb5252d44  name:           antiope-s3-version:        6.1.3+version:        6.1.4 description:    Please see the README on Github at <https://github.com/arbor/antiope#readme> category:       Services homepage:       https://github.com/arbor/antiope#readme
src/Antiope/S3/Lazy.hs view
@@ -2,40 +2,46 @@  module Antiope.S3.Lazy   ( unsafeDownload+  , unsafeDownloadRequest   , download+  , downloadRequest   , downloadFromS3Uri   ) where +import Antiope.Core.Error import Antiope.S3.GetObject import Antiope.S3.Types             (S3Uri (S3Uri)) import Control.Lens-import Control.Monad.Catch          (catch) import Control.Monad.Trans.Resource-import Network.AWS                  (Error (..), MonadAWS, ServiceError (..))-import Network.HTTP.Types.Status    (Status (..))+import Network.AWS                  (MonadAWS)  import qualified Data.ByteString.Lazy as LBS+import qualified Network.AWS          as AWS import qualified Network.AWS.S3       as AWS +unsafeDownloadRequest :: (MonadAWS m, MonadResource m)+  => AWS.GetObject+  -> m LBS.ByteString+unsafeDownloadRequest req = do+  resp <- AWS.send req+  lazyByteString (resp ^. AWS.gorsBody)+ unsafeDownload :: (MonadAWS m, MonadResource m)   => AWS.BucketName   -> AWS.ObjectKey   -> m LBS.ByteString-unsafeDownload bucketName objectKey = do-  resp <- getObject bucketName objectKey-  lazyByteString (resp ^. AWS.gorsBody)+unsafeDownload bucketName objectKey = unsafeDownloadRequest (AWS.getObject bucketName objectKey) +downloadRequest :: (MonadAWS m, MonadResource m)+  => AWS.GetObject+  -> m (Maybe LBS.ByteString)+downloadRequest req = handle404ToNone (unsafeDownloadRequest req)+ download :: (MonadAWS m, MonadResource m)   => AWS.BucketName   -> AWS.ObjectKey   -> m (Maybe LBS.ByteString)-download bucketName objectKey = do-  ebs <- (Right <$> unsafeDownload bucketName objectKey) `catch` \(err :: Error) -> case err of-    (ServiceError (ServiceError' _ (Status 404 _) _ _ _ _)) -> return (Left LBS.empty)-    _                                                       -> throwM err-  case ebs of-    Right bs -> return (Just bs)-    Left _   -> return Nothing+download bucketName objectKey = downloadRequest (AWS.getObject bucketName objectKey)  downloadFromS3Uri :: (MonadAWS m, MonadResource m)   => S3Uri