hw-uri 0.0.2.0 → 0.1.0.0
raw patch · 2 files changed
+6/−7 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- HaskellWorks.Data.Uri.IO.Lazy: writeResource :: (MonadUnliftIO m, MonadCatch m) => Env -> Location -> ByteString -> ExceptT UriError m ()
+ HaskellWorks.Data.Uri.IO.Lazy: writeResource :: (MonadUnliftIO m, MonadCatch m) => Env -> Location -> ByteString -> ExceptT UriError m (Maybe ETag)
Files
- hw-uri.cabal +2/−2
- src/HaskellWorks/Data/Uri/IO/Lazy.hs +4/−5
hw-uri.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.2 name: hw-uri-version: 0.0.2.0+version: 0.1.0.0 synopsis: Supports IO on URIs description: Supports IO on URIs. homepage: https://github.com/haskell-works/hw-uri@@ -9,7 +9,7 @@ license-file: LICENSE author: John Ky maintainer: newhoggy@gmail.com-copyright: John Ky 2019+copyright: John Ky 2019, David Turnbull 2019 category: Data extra-source-files: CHANGELOG.md, README.md
src/HaskellWorks/Data/Uri/IO/Lazy.hs view
@@ -17,7 +17,6 @@ import Antiope.Core import Control.Lens-import Control.Monad (void) import Control.Monad.Catch import Control.Monad.Except import Control.Monad.Trans.Resource@@ -121,16 +120,16 @@ headS3Uri :: (MonadResource m, MonadCatch m) => AWS.Env -> AWS.S3Uri -> m (Either UriError AWS.HeadObjectResponse) headS3Uri envAws (AWS.S3Uri b k) = handleAwsError $ runAws envAws $ AWS.send $ AWS.headObject b k -uploadToS3 :: (MonadUnliftIO m, MonadCatch m) => AWS.Env -> AWS.S3Uri -> LBS.ByteString -> m (Either UriError ())+uploadToS3 :: (MonadUnliftIO m, MonadCatch m) => AWS.Env -> AWS.S3Uri -> LBS.ByteString -> m (Either UriError (Maybe AWS.ETag)) uploadToS3 envAws (AWS.S3Uri b k) lbs = do let req = AWS.toBody lbs let po = AWS.putObject b k req- handleAwsError $ void $ runResAws envAws $ AWS.send po+ handleAwsError $ runResAws envAws $ view AWS.porsETag <$> AWS.send po -writeResource :: (MonadUnliftIO m, MonadCatch m) => AWS.Env -> Location -> LBS.ByteString -> ExceptT UriError m ()+writeResource :: (MonadUnliftIO m, MonadCatch m) => AWS.Env -> Location -> LBS.ByteString -> ExceptT UriError m (Maybe AWS.ETag) writeResource envAws loc lbs = ExceptT $ case loc of S3 s3Uri -> uploadToS3 envAws s3Uri lbs- Local path -> liftIO (LBS.writeFile path lbs) >> return (Right ())+ Local path -> liftIO (LBS.writeFile path lbs) >> return (Right Nothing) HttpUri _ -> return (Left (GenericUriError "HTTP PUT method not supported")) createLocalDirectoryIfMissing :: (MonadCatch m, MonadIO m) => Location -> m ()