packages feed

aws 0.3.2 → 0.4.0

raw patch · 11 files changed

+31/−23 lines, 11 filesdep +monad-controldep −shortcircuitdep ~conduitdep ~http-conduitdep ~xml-conduitPVP ok

version bump matches the API change (PVP)

Dependencies added: monad-control

Dependencies removed: shortcircuit

Dependency ranges changed: conduit, http-conduit, xml-conduit

API changes (from Hackage documentation)

- Aws.Query: SignedQuery :: Method -> Protocol -> ByteString -> Int -> ByteString -> Query -> Maybe UTCTime -> Maybe ByteString -> Maybe ByteString -> Maybe ByteString -> RequestHeaders -> RequestHeaders -> Maybe (RequestBody IO) -> ByteString -> SignedQuery
+ Aws.Query: SignedQuery :: Method -> Protocol -> ByteString -> Int -> ByteString -> Query -> Maybe UTCTime -> Maybe ByteString -> Maybe ByteString -> Maybe ByteString -> RequestHeaders -> RequestHeaders -> Maybe (RequestBody (ResourceT IO)) -> ByteString -> SignedQuery
- Aws.Query: queryToHttpRequest :: SignedQuery -> Request IO
+ Aws.Query: queryToHttpRequest :: SignedQuery -> Request (ResourceT IO)
- Aws.Query: sqBody :: SignedQuery -> Maybe (RequestBody IO)
+ Aws.Query: sqBody :: SignedQuery -> Maybe (RequestBody (ResourceT IO))
- Aws.Response: type HTTPResponseConsumer a = Status -> ResponseHeaders -> Source IO ByteString -> ResourceT IO a
+ Aws.Response: type HTTPResponseConsumer a = Status -> ResponseHeaders -> Source (ResourceT IO) ByteString -> ResourceT IO a
- Aws.S3.Commands.PutObject: PutObject :: Text -> Bucket -> Maybe ByteString -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ByteString -> Maybe Int -> Maybe CannedAcl -> Maybe StorageClass -> RequestBody IO -> [(Text, Text)] -> PutObject
+ Aws.S3.Commands.PutObject: PutObject :: Text -> Bucket -> Maybe ByteString -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ByteString -> Maybe Int -> Maybe CannedAcl -> Maybe StorageClass -> RequestBody (ResourceT IO) -> [(Text, Text)] -> PutObject
- Aws.S3.Commands.PutObject: poRequestBody :: PutObject -> RequestBody IO
+ Aws.S3.Commands.PutObject: poRequestBody :: PutObject -> RequestBody (ResourceT IO)
- Aws.S3.Commands.PutObject: putObject :: Text -> Bucket -> RequestBody IO -> PutObject
+ Aws.S3.Commands.PutObject: putObject :: Text -> Bucket -> RequestBody (ResourceT IO) -> PutObject
- Aws.S3.Query: S3Query :: Method -> Maybe ByteString -> Maybe ByteString -> Query -> Query -> Maybe ByteString -> Maybe ByteString -> RequestHeaders -> RequestHeaders -> Maybe (RequestBody IO) -> S3Query
+ Aws.S3.Query: S3Query :: Method -> Maybe ByteString -> Maybe ByteString -> Query -> Query -> Maybe ByteString -> Maybe ByteString -> RequestHeaders -> RequestHeaders -> Maybe (RequestBody (ResourceT IO)) -> S3Query
- Aws.S3.Query: s3QRequestBody :: S3Query -> Maybe (RequestBody IO)
+ Aws.S3.Query: s3QRequestBody :: S3Query -> Maybe (RequestBody (ResourceT IO))
- Aws.Util: tryError :: (Exception e, ResourceIO m) => m b -> m (Either e b)
+ Aws.Util: tryError :: (Exception e, MonadResource m, MonadBaseControl IO m) => m b -> m (Either e b)

Files

Aws/Aws.hs view
@@ -148,7 +148,7 @@   logger cfg Debug $ T.pack $ "String to sign: " ++ show (sqStringToSign q)   let httpRequest = queryToHttpRequest q   resp <- runResourceT $ do-      HTTP.Response status headers body <- HTTP.http httpRequest manager+      HTTP.Response status _ headers body <- HTTP.http httpRequest manager       responseConsumer request metadataRef status headers body   return resp 
Aws/Credentials.hs view
@@ -4,7 +4,6 @@    import           Control.Applicative import           Control.Monad-import           Control.Shortcircuit (orM) import           Data.List import           System.Directory import           System.Environment@@ -46,7 +45,12 @@   return (Credentials <$> (T.encodeUtf8 . T.pack <$> keyID) <*> (T.encodeUtf8 . T.pack <$> secret))    loadCredentialsFromEnvOrFile :: FilePath -> T.Text -> IO (Maybe Credentials)-loadCredentialsFromEnvOrFile file key = loadCredentialsFromEnv `orM` loadCredentialsFromFile file key+loadCredentialsFromEnvOrFile file key = +  do+    envcr <- loadCredentialsFromEnv+    case envcr of+      Just cr -> return (Just cr)+      Nothing -> loadCredentialsFromFile file key  loadCredentialsDefault :: IO (Maybe Credentials) loadCredentialsDefault = do
Aws/Query.hs view
@@ -11,6 +11,7 @@ import qualified Data.ByteString          as B import qualified Data.Text                as T import qualified Data.Text.Encoding       as T+import qualified Data.Conduit as C import qualified Network.HTTP.Conduit     as HTTP import qualified Network.HTTP.Types       as HTTP @@ -28,12 +29,12 @@       , sqContentMd5 :: Maybe B.ByteString       , sqAmzHeaders :: HTTP.RequestHeaders       , sqOtherHeaders :: HTTP.RequestHeaders-      , sqBody :: Maybe (HTTP.RequestBody IO)+      , sqBody :: Maybe (HTTP.RequestBody (C.ResourceT IO))       , sqStringToSign :: B.ByteString       }     --deriving (Show) -queryToHttpRequest :: SignedQuery -> HTTP.Request IO+queryToHttpRequest :: SignedQuery -> HTTP.Request (C.ResourceT IO) queryToHttpRequest SignedQuery{..}     = HTTP.def {         HTTP.method = httpMethod sqMethod
Aws/Response.hs view
@@ -35,7 +35,7 @@  type HTTPResponseConsumer a =  HTTP.Status                             -> HTTP.ResponseHeaders-                            -> Source IO ByteString+                            -> Source (ResourceT IO) ByteString                             -> ResourceT IO a  class ResponseConsumer r a where@@ -46,4 +46,4 @@     type ResponseMetadata (HTTP.Response L.ByteString) = ()     responseConsumer _ _ status headers bufsource = do       chunks <- bufsource $$ CL.consume-      return (HTTP.Response status headers $ L.fromChunks chunks)+      return (HTTP.Response status HTTP.http11 headers $ L.fromChunks chunks)
Aws/S3/Commands/PutObject.hs view
@@ -20,6 +20,7 @@ import qualified Data.Text                  as T import qualified Data.Text.Encoding         as T import qualified Network.HTTP.Conduit       as HTTP+import qualified Data.Conduit       as C  data PutObject = PutObject {   poObjectName :: T.Text,@@ -32,11 +33,11 @@   poExpires :: Maybe Int,   poAcl :: Maybe CannedAcl,   poStorageClass :: Maybe StorageClass,-  poRequestBody  :: HTTP.RequestBody IO,+  poRequestBody  :: HTTP.RequestBody (C.ResourceT IO),   poMetadata :: [(T.Text,T.Text)] } -putObject :: T.Text -> Bucket -> HTTP.RequestBody IO -> PutObject+putObject :: T.Text -> Bucket -> HTTP.RequestBody (C.ResourceT IO) -> PutObject putObject obj bucket body = PutObject obj bucket Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing body []  data PutObjectResponse 
Aws/S3/Query.hs view
@@ -20,6 +20,7 @@ import qualified Data.ByteString.Char8          as B8 import qualified Data.CaseInsensitive           as CI import qualified Network.HTTP.Conduit           as HTTP+import qualified Data.Conduit as C import qualified Network.HTTP.Types             as HTTP  data S3Query@@ -33,7 +34,7 @@       , s3QContentMd5 :: Maybe B.ByteString       , s3QAmzHeaders :: HTTP.RequestHeaders       , s3QOtherHeaders :: HTTP.RequestHeaders-      , s3QRequestBody :: Maybe (HTTP.RequestBody IO)+      , s3QRequestBody :: Maybe (HTTP.RequestBody (C.ResourceT IO))       }  instance Show S3Query where
Aws/S3/Response.hs view
@@ -51,8 +51,8 @@     = do doc <- source $$ XML.sinkDoc XML.def          let cursor = Cu.fromDocument doc          liftIO $ case parseError cursor of-           Success err      -> C.resourceThrow err-           Failure otherErr -> C.resourceThrow otherErr+           Success err      -> C.monadThrow err+           Failure otherErr -> C.monadThrow otherErr     where       parseError :: Cu.Cursor -> Attempt S3Error       parseError root = do code <- force "Missing error Code" $ root $/ elContent "Code"
Aws/Sqs/Response.hs view
@@ -42,8 +42,8 @@     = do doc <- source $$ XML.sinkDoc XML.def          let cursor = Cu.fromDocument doc          liftIO $ case parseError cursor of-           Success err -> C.resourceThrow err-           Failure otherErr -> C.resourceThrow otherErr+           Success err -> C.monadThrow err+           Failure otherErr -> C.monadThrow otherErr     where       parseError :: Cu.Cursor -> Attempt SqsError       parseError root = do cursor <- force "Missing Error" $ root $/ Cu.laxElement "Error"
Aws/Util.hs view
@@ -1,8 +1,9 @@ {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE FlexibleContexts #-} -module Aws.Util-where+module Aws.Util where +import Control.Monad.Trans.Control import           Control.Arrow import           Control.Exception import           Data.ByteString.Char8 ({- IsString -})@@ -15,7 +16,7 @@ import qualified Data.ByteString.UTF8  as BU import qualified Data.Conduit          as C -tryError :: (Exception e, C.ResourceIO m) => m b -> m (Either e b)+tryError :: (Exception e, C.MonadResource m, MonadBaseControl IO m) => m b -> m (Either e b) tryError = Control.Exception.Lifted.try  queryList :: (a -> [(B.ByteString, B.ByteString)]) -> B.ByteString -> [a] -> [(B.ByteString, B.ByteString)]
Aws/Xml.hs view
@@ -55,5 +55,5 @@          let Response metadata x = parse cursor          liftIO $ tellMetadataRef metadataRef metadata          case x of-           Failure err -> liftIO $ C.resourceThrow err+           Failure err -> liftIO $ C.monadThrow err            Success v   -> return v
aws.cabal view
@@ -6,7 +6,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version:             0.3.2+Version:             0.4.0  -- A short (one-line) description of the package. Synopsis:            Amazon Web Services (AWS) for Haskell@@ -136,23 +136,23 @@                        bytestring           == 0.9.*,                        case-insensitive     >= 0.2     && < 0.5,                        cereal               == 0.3.*,-                       conduit              >= 0.2     && < 0.3,+                       conduit              >= 0.4     && < 0.5,                        crypto-api           >= 0.9,                        cryptohash           >= 0.6     && < 0.8,                        directory            >= 1.0     && < 1.2,                        failure              >= 0.1.0.1 && < 0.3,                        filepath             >= 1.1     && < 1.4,-                       http-conduit         >= 1.2     && < 1.3,+                       http-conduit         >= 1.4     && < 1.5,                        http-types           >= 0.6     && < 0.7,                        lifted-base          == 0.1.*,                        mtl                  == 2.*,+                       monad-control        >= 0.3,                        old-locale           == 1.*,-                       shortcircuit         == 0.1.*,                        text                 >= 0.11,                        time                 >= 1.1.4   && < 1.5,                        transformers         >= 0.2.2.0 && < 0.3,                        utf8-string          == 0.3.*,-                       xml-conduit          >= 0.5.0+                       xml-conduit          >= 0.7.0    GHC-Options: -Wall