amazonka-s3-streaming 1.0.0.2 → 1.1.0.0
raw patch · 3 files changed
+12/−8 lines, 3 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
- Network.AWS.S3.StreamingUpload: concurrentUpload :: MonadAWS m => Maybe ChunkSize -> Maybe NumThreads -> UploadLocation -> CreateMultipartUpload -> m CompleteMultipartUploadResponse
+ Network.AWS.S3.StreamingUpload: concurrentUpload :: (MonadAWS m, MonadFail m) => Maybe ChunkSize -> Maybe NumThreads -> UploadLocation -> CreateMultipartUpload -> m CompleteMultipartUploadResponse
- Network.AWS.S3.StreamingUpload: streamUpload :: (MonadUnliftIO m, MonadAWS m) => Maybe ChunkSize -> CreateMultipartUpload -> ConduitT ByteString Void m (Either (AbortMultipartUploadResponse, SomeException) CompleteMultipartUploadResponse)
+ Network.AWS.S3.StreamingUpload: streamUpload :: (MonadUnliftIO m, MonadAWS m, MonadFail m) => Maybe ChunkSize -> CreateMultipartUpload -> ConduitT ByteString Void m (Either (AbortMultipartUploadResponse, SomeException) CompleteMultipartUploadResponse)
Files
Changelog.md view
@@ -1,5 +1,8 @@ # Changelog - amazonka-s3-streaming +## 1.1.0.0+ - Adds MonadFail constraints, thanks @utdemir+ ## 1.0.0.2 - allow http-client 0.6 @@ -7,7 +10,7 @@ - Update to support conduit >= 1.3 only. ## 0.2.0.5-- Fix compatibility with +- Fix compatibility with ## 0.2.0.4 - Make building s3upload executable optional
amazonka-s3-streaming.cabal view
@@ -1,5 +1,5 @@ name: amazonka-s3-streaming-version: 1.0.0.2+version: 1.1.0.0 synopsis: Provides conduits to upload data to S3 using the Multipart API description: Provides a conduit based streaming interface and a concurrent interface to uploading data to S3 using the Multipart API. Also provides method to upload@@ -14,13 +14,13 @@ build-type: Simple extra-source-files: README.md, Changelog.md cabal-version: >=1.10-tested-with: GHC == 8.0.* || == 8.2.2 || == 8.4.* || == 8.6.*+tested-with: GHC == 8.0.* || == 8.2.2 || == 8.4.* || == 8.6.* || == 8.8.* library hs-source-dirs: src exposed-modules: Network.AWS.S3.StreamingUpload default-language: Haskell2010- build-depends: base >= 4.6 && < 5+ build-depends: base >= 4.9 && < 5 , amazonka >= 1.6 && < 1.7 , amazonka-core >= 1.6 && < 1.7 , amazonka-s3 >= 1.6 && < 1.7
src/Network/AWS/S3/StreamingUpload.hs view
@@ -33,6 +33,7 @@ import Control.Applicative import Control.Category ( (>>>) ) import Control.Monad ( forM_, when, (>=>) )+import Control.Monad.Fail ( MonadFail ) import Control.Monad.IO.Class ( MonadIO, liftIO ) import Control.Monad.Morph ( lift ) import Control.Monad.Reader.Class ( local )@@ -84,7 +85,7 @@ May throw 'Network.AWS.Error' -}-streamUpload :: (MonadUnliftIO m, MonadAWS m)+streamUpload :: (MonadUnliftIO m, MonadAWS m, MonadFail m) => Maybe ChunkSize -- ^ Optional chunk size -> CreateMultipartUpload -- ^ Upload location -> ConduitT ByteString Void m (Either (AbortMultipartUploadResponse, SomeException) CompleteMultipartUploadResponse)@@ -133,7 +134,7 @@ & cMultipartUpload ?~ set cmuParts prts completedMultipartUpload - performUpload :: MonadAWS m => Int -> Int -> Digest SHA256 -> D.DList ByteString -> m UploadPartResponse+ performUpload :: (MonadAWS m, MonadFail m) => Int -> Int -> Digest SHA256 -> D.DList ByteString -> m UploadPartResponse performUpload pnum size digest = D.toList >>> sourceList@@ -143,7 +144,7 @@ >>> send >=> checkUpload - checkUpload :: (Monad m) => UploadPartResponse -> m UploadPartResponse+ checkUpload :: (Monad m, MonadFail m) => UploadPartResponse -> m UploadPartResponse checkUpload upr = do when (upr ^. uprsResponseStatus /= 200) $ fail "Failed to upload piece" return upr@@ -173,7 +174,7 @@ multipart upload on any error, but this may also fail if, for example, the network connection has been broken. See `abortAllUploads` for a crude cleanup method. -}-concurrentUpload :: (MonadAWS m)+concurrentUpload :: (MonadAWS m, MonadFail m) => Maybe ChunkSize -- ^ Optional chunk size -> Maybe NumThreads -- ^ Optional number of threads to upload with -> UploadLocation -- ^ Whether to upload a file on disk or a `ByteString` that's already in memory.