packages feed

hw-uri 0.1.1.8 → 0.1.1.9

raw patch · 4 files changed

+15/−11 lines, 4 filesdep +dlistPVP ok

version bump matches the API change (PVP)

Dependencies added: dlist

API changes (from Hackage documentation)

Files

hw-uri.cabal view
@@ -1,7 +1,7 @@ cabal-version:          2.4  name:                   hw-uri-version:                0.1.1.8+version:                0.1.1.9 synopsis:               Supports IO on URIs description:            Supports IO on URIs. homepage:               https://github.com/haskell-works/hw-uri@@ -28,6 +28,7 @@ common antiope-optparse-applicative   { build-depends: antiope-optparse-applicative   >= 7.0.1      && < 8      } common bytestring                     { build-depends: bytestring                     >= 0.10.8.2   && < 0.11   } common directory                      { build-depends: directory                      >= 1.3.3.0    && < 1.4    }+common dlist                          { build-depends: dlist                          >= 0.8.0.7    && < 0.9    } common exceptions                     { build-depends: exceptions                     >= 0.10.1     && < 0.11   } common filepath                       { build-depends: filepath                       >= 1.3        && < 1.5    } common generic-lens                   { build-depends: generic-lens                   >= 1.1.0.0    && < 1.3    }@@ -58,6 +59,7 @@                       , antiope-s3                       , bytestring                       , directory+                      , dlist                       , exceptions                       , filepath                       , generic-lens
src/HaskellWorks/Data/Uri/IO/File.hs view
@@ -41,16 +41,16 @@   let rs = if filePath /= "." then fmap (filePath </>) qs else qs   return rs   where go :: (MonadIO m, MonadUnliftIO m) => FilePath -> FilePath -> m [FilePath]-        go filePath dir = do-          ps <- listDirectory filePath-          qs <- fmap concat $ IO.interleaveSequenceM $ fmap (recurse filePath) ps+        go fp dir = do+          ps <- listDirectory fp+          qs <- fmap concat $ IO.interleaveSequenceM $ fmap (recurse fp) ps           return (fmap (dir </>) qs)          recurse :: (MonadIO m, MonadUnliftIO m) => FilePath -> FilePath -> m [FilePath]-        recurse filePath p = do-          isDirectory <- liftIO $ IO.doesDirectoryExist (filePath </> p)+        recurse fp p = do+          isDirectory <- liftIO $ IO.doesDirectoryExist (fp </> p)           if isDirectory-            then case filePath </> p of+            then case fp </> p of               subPath -> if "./" `L.isPrefixOf` subPath                 then go (drop 2 subPath) p                 else go subPath p
src/HaskellWorks/Data/Uri/IO/Lazy.hs view
@@ -35,9 +35,10 @@ import HaskellWorks.Data.Uri.UriError  import qualified Antiope.S3                       as AWS-import qualified Antiope.S3.Lazy                  as AWS+import qualified Antiope.S3.Lazy                  as AWSL import qualified Control.Concurrent               as IO import qualified Data.ByteString.Lazy             as LBS+import qualified Data.DList                       as DL import qualified Data.Text                        as T import qualified HaskellWorks.Data.Uri.IO.Console as CIO import qualified HaskellWorks.Data.Uri.IO.File    as FIO@@ -73,7 +74,7 @@     _                                 -> throwM e  getS3Uri :: (MonadResource m, MonadCatch m) => AWS.Env -> AWS.S3Uri -> m (Either UriError LBS.ByteString)-getS3Uri envAws (AWS.S3Uri b k) = handleAwsError $ runAws envAws $ AWS.unsafeDownload b k+getS3Uri envAws (AWS.S3Uri b k) = handleAwsError $ runAws envAws $ AWSL.unsafeDownload b k  readResource :: (MonadResource m, MonadCatch m) => AWS.Env -> Location -> m (Either UriError LBS.ByteString) readResource envAws = \case@@ -237,7 +238,7 @@  listResourcePrefix :: (MonadUnliftIO m, MonadResource m) => AWS.Env -> Location -> ExceptT UriError m [Location] listResourcePrefix envAws location = case location of-  S3 s3Uri   -> fmap S3 <$> runAws envAws (AWS.lsPrefix (s3Uri ^. the @"bucket") (s3Uri ^. the @"objectKey" . the @1))+  S3 s3Uri   -> fmap S3 . DL.toList <$> runAws envAws (AWSL.dlistS3Uris (AWSL.s3UriToListObjectsV2 s3Uri))   Local path -> fmap Local <$> lift (FIO.listFilesRecursiveWithPrefix path)   HttpUri _  -> throwError "HTTP method not supported" @@ -248,4 +249,3 @@     when (result /= [s3Uri]) $ throwError $ DeleteFailed (tshow location)   Local path      -> liftIO $ IO.removeFile path   HttpUri _ -> throwError "HTTP method not supported"-
src/HaskellWorks/Data/Uri/UriError.hs view
@@ -7,6 +7,7 @@   , uriErrorStatus   ) where +import Data.Semigroup             ((<>)) import Data.String import Data.Text                  (Text) import GHC.Generics@@ -37,6 +38,7 @@ displayUriError RetriesFailedUriError = "Multiple retries failed" displayUriError NotFound              = "Not found" displayUriError (GenericUriError msg) = msg+displayUriError (DeleteFailed msg)    = "Delete failed: " <> msg  uriErrorStatus :: UriError -> Maybe Int uriErrorStatus (AwsUriError (HTTP.Status statusCode _)) = Just statusCode