aws-simple 0.3.0.0 → 0.4.0.0
raw patch · 4 files changed
+44/−32 lines, 4 filesdep +timespandep −blaze-builderdep ~amazonka-coredep ~amazonka-s3dep ~amazonka-sqsPVP ok
version bump matches the API change (PVP)
Dependencies added: timespan
Dependencies removed: blaze-builder
Dependency ranges changed: amazonka-core, amazonka-s3, amazonka-sqs, bytestring, conduit, lens, mtl, resourcet, text, unordered-containers
API changes (from Hackage documentation)
+ Network.AWS.Simple: sqsChangeMessageTimeout :: AWSHandle -> AWSQueue -> MessageHandle -> TimeSpan -> IO ()
- Network.AWS.Simple: GetMessageCfg :: !Int -> !Int -> !Int -> GetMessageCfg
+ Network.AWS.Simple: GetMessageCfg :: !TimeSpan -> !Int -> !TimeSpan -> GetMessageCfg
- Network.AWS.Simple: [gmc_ackTimeout] :: GetMessageCfg -> !Int
+ Network.AWS.Simple: [gmc_ackTimeout] :: GetMessageCfg -> !TimeSpan
- Network.AWS.Simple: [gmc_waitTime] :: GetMessageCfg -> !Int
+ Network.AWS.Simple: [gmc_waitTime] :: GetMessageCfg -> !TimeSpan
Files
- aws-simple.cabal +12/−12
- package.yaml +12/−12
- src/Network/AWS/Simple.hs +19/−8
- stack.yaml +1/−0
aws-simple.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: aws-simple-version: 0.3.0.0+version: 0.4.0.0 synopsis: Dead simple bindings to commonly used AWS Services description: Simple bindings to commonly used AWS services category: Web@@ -26,18 +26,18 @@ src build-depends: base >= 4.7 && < 5- , text- , bytestring- , mtl- , resourcet- , lens- , conduit+ , text >= 1.2+ , bytestring >= 0.10+ , mtl >= 2.2+ , resourcet >= 1.0+ , lens >= 3.0+ , conduit >= 1.2 , amazonka >= 1.4.5- , amazonka-core- , amazonka-s3- , amazonka-sqs- , blaze-builder- , unordered-containers+ , amazonka-core >= 1.4.5+ , amazonka-s3 >= 1.4.5+ , amazonka-sqs >= 1.4.5+ , unordered-containers >= 0.2+ , timespan >= 0.3 exposed-modules: Network.AWS.Simple other-modules:
package.yaml view
@@ -1,5 +1,5 @@ name: aws-simple-version: 0.3.0.0+version: 0.4.0.0 synopsis: Dead simple bindings to commonly used AWS Services description: Simple bindings to commonly used AWS services homepage: https://github.com/agrafix/aws-simple#readme@@ -15,18 +15,18 @@ dependencies: - base >= 4.7 && < 5- - text- - bytestring- - mtl- - resourcet- - lens- - conduit+ - text >= 1.2+ - bytestring >= 0.10+ - mtl >= 2.2+ - resourcet >= 1.0+ - lens >= 3.0+ - conduit >= 1.2 - amazonka >= 1.4.5- - amazonka-core- - amazonka-s3- - amazonka-sqs- - blaze-builder- - unordered-containers+ - amazonka-core >= 1.4.5+ - amazonka-s3 >= 1.4.5+ - amazonka-sqs >= 1.4.5+ - unordered-containers >= 0.2+ - timespan >= 0.3 library: source-dirs: src
src/Network/AWS/Simple.hs view
@@ -12,7 +12,7 @@ , sqsGetQueue, AWSQueue , sqsSendMessage , sqsGetMessage, GetMessageCfg(..), SqsMessage(..), MessageHandle- , sqsAckMessage+ , sqsAckMessage, sqsChangeMessageTimeout ) where @@ -25,8 +25,10 @@ import Data.Int import Data.Maybe import Data.Monoid-import qualified Blaze.ByteString.Builder as BSB+import Data.Time.TimeSpan import qualified Data.ByteString as BS+import qualified Data.ByteString.Builder as BSB+import qualified Data.ByteString.Lazy as BSL import qualified Data.Text as T import qualified Network.AWS as AWS import qualified Network.AWS.Data.Body as AWS@@ -50,7 +52,7 @@ mkLogFun :: LogFun -> AWS.Logger mkLogFun f ll logBuilder=- f ll (BSB.toByteString logBuilder)+ f ll (BSL.toStrict $ BSB.toLazyByteString logBuilder) runAWS :: AWSHandle -> AWS.AWS a -> IO a runAWS aws action =@@ -132,9 +134,13 @@ data GetMessageCfg = GetMessageCfg- { gmc_ackTimeout :: !Int- , gmc_messages :: !Int -- ^ maximum is 10- , gmc_waitTime :: !Int+ { gmc_ackTimeout :: !TimeSpan+ -- ^ how long should the message be hidden from other consumers until 'sqsAckMessage' is called+ -- maximum: 12 hours+ , gmc_messages :: !Int+ -- ^ how many messages should be pulled at once. Between 1 and 10+ , gmc_waitTime :: !TimeSpan+ -- ^ how long should one polling request wait for the next message? Between 0 and 20 seconds. } data SqsMessage@@ -159,8 +165,8 @@ do ms <- AWS.send $ SQS.receiveMessage q- & SQS.rmWaitTimeSeconds ?~ gmc_waitTime gmc- & SQS.rmVisibilityTimeout ?~ gmc_ackTimeout gmc+ & SQS.rmWaitTimeSeconds ?~ round (toSeconds (gmc_waitTime gmc))+ & SQS.rmVisibilityTimeout ?~ round (toSeconds (gmc_ackTimeout gmc)) & SQS.rmMaxNumberOfMessages ?~ gmc_messages gmc return (mapMaybe wrapMessage $ ms ^. SQS.rmrsMessages) @@ -168,3 +174,8 @@ sqsAckMessage hdl (AWSQueue q) (MessageHandle rh) = runAWS hdl $ void $ AWS.send (SQS.deleteMessage q rh)++sqsChangeMessageTimeout :: AWSHandle -> AWSQueue -> MessageHandle -> TimeSpan -> IO ()+sqsChangeMessageTimeout hdl (AWSQueue q) (MessageHandle rh) t =+ runAWS hdl $+ void $ AWS.send $ SQS.changeMessageVisibility q rh (round $ toSeconds t)
stack.yaml view
@@ -9,3 +9,4 @@ - amazonka-1.4.5 - amazonka-s3-1.4.5 - amazonka-sqs-1.4.5+ - timespan-0.3.0.0