amazonka-core 1.4.3 → 1.4.4
raw patch · 6 files changed
+86/−70 lines, 6 filesdep ~aesondep ~basedep ~conduitPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, base, conduit, http-conduit
API changes (from Hackage documentation)
+ Network.AWS.Data.JSON: eitherDecode :: FromJSON a => ByteString -> Either String a
+ Network.AWS.Data.Log: instance Network.AWS.Data.Log.ToLog Network.HTTP.Client.Types.HttpExceptionContent
+ Network.AWS.Types: Bombay :: Region
+ Network.AWS.Types: instance Data.Aeson.Types.Class.FromJSON Network.AWS.Types.Region
+ Network.AWS.Types: instance Data.Aeson.Types.Class.ToJSON Network.AWS.Types.Region
Files
- amazonka-core.cabal +3/−3
- src/Network/AWS/Data/Base64.hs +2/−1
- src/Network/AWS/Data/JSON.hs +2/−1
- src/Network/AWS/Data/Log.hs +4/−1
- src/Network/AWS/Error.hs +25/−20
- src/Network/AWS/Types.hs +50/−44
amazonka-core.cabal view
@@ -1,5 +1,5 @@ name: amazonka-core-version: 1.4.3+version: 1.4.4 synopsis: Core data types and functionality for Amazonka libraries. homepage: https://github.com/brendanhay/amazonka bug-reports: https://github.com/brendanhay/amazonka/issues@@ -73,7 +73,7 @@ build-depends: aeson >= 0.8 , attoparsec >= 0.11.3- , base >= 4.7 && < 5+ , base >= 4.7 && < 5 , bifunctors >= 4.1 , bytestring >= 0.9 , case-insensitive >= 1.2@@ -83,7 +83,7 @@ , deepseq >= 1.4 , exceptions >= 0.6 , hashable >= 1.2- , http-conduit >= 2.1.4+ , http-conduit >= 2.2 && < 3 , http-types >= 0.8 , lens >= 4.4 , memory >= 0.6
src/Network/AWS/Data/Base64.hs view
@@ -15,6 +15,7 @@ , _Base64 ) where +import Control.Applicative (pure) import Control.DeepSeq import Data.Aeson.Types import qualified Data.Attoparsec.Text as AText@@ -48,7 +49,7 @@ -- the underlying serialisers (JSON, XML) use Text internally. instance FromText Base64 where parser = AText.takeText >>=- either fail (return . Base64)+ either fail (pure . Base64) . BA.convertFromBase BA.Base64 . Text.encodeUtf8
src/Network/AWS/Data/JSON.hs view
@@ -13,6 +13,7 @@ -- * FromJSON FromJSON (..) , parseJSONText+ , eitherDecode , eitherDecode' -- ** Parser a@@ -34,7 +35,7 @@ , (.=) ) where -import Data.Aeson (eitherDecode')+import Data.Aeson (eitherDecode, eitherDecode') import Data.Aeson.Types import qualified Data.HashMap.Strict as Map import Network.AWS.Data.Text
src/Network/AWS/Data/Log.hs view
@@ -120,6 +120,9 @@ instance ToLog HttpException where build x = "[HttpException] {\n" <> build (show x) <> "\n}" +instance ToLog HttpExceptionContent where+ build x = "[HttpExceptionContent] {\n" <> build (show x) <> "\n}"+ instance ToLog Request where build x = buildLines [ "[Client Request] {"@@ -127,7 +130,7 @@ , " secure = " <> build (secure x) , " method = " <> build (method x) , " target = " <> build target- , " timeout = " <> build (responseTimeout x)+ , " timeout = " <> build (show (responseTimeout x)) , " redirects = " <> build (redirectCount x) , " path = " <> build (path x) , " query = " <> build (queryString x)
src/Network/AWS/Error.hs view
@@ -12,23 +12,23 @@ -- module Network.AWS.Error where -import Control.Applicative-import Control.Monad-import Data.Aeson-import Data.Aeson.Types (parseEither)-import qualified Data.ByteString.Lazy as LBS-import Data.Maybe-import Data.Monoid-import Network.AWS.Data.ByteString-import Network.AWS.Data.Headers-import Network.AWS.Data.Text-import Network.AWS.Data.XML-import Network.AWS.Lens (Choice, Getting, Optic', filtered)-import Network.AWS.Lens ((<&>))-import Network.AWS.Types-import Network.HTTP.Conduit-import Network.HTTP.Types.Status (Status (..))+import Control.Applicative+import Control.Monad+import Data.Aeson+import Data.Aeson.Types (parseEither)+import Data.Maybe+import Data.Monoid+import Network.AWS.Data.ByteString+import Network.AWS.Data.Headers+import Network.AWS.Data.Text+import Network.AWS.Data.XML+import Network.AWS.Lens (Choice, Getting, Optic', filtered)+import Network.AWS.Types+import Network.HTTP.Conduit+import Network.HTTP.Types.Status (Status (..)) +import qualified Data.ByteString.Lazy as LBS+ statusSuccess :: Status -> Bool statusSuccess (statusCode -> n) = n >= 200 && n < 300 @@ -36,14 +36,19 @@ httpStatus = _Error . f where f g = \case- TransportError (StatusCodeException s h c)- -> TransportError <$> (StatusCodeException <$> g s <*> pure h <*> pure c)+ TransportError (HttpExceptionRequest rq (StatusCodeException rs b))+ -> (\x -> TransportError (HttpExceptionRequest rq (StatusCodeException (rs { responseStatus = x }) b)))+ <$> g (responseStatus rs)+ TransportError e -> pure (TransportError e)+ SerializeError (SerializeError' a s b e)- -> g s <&> \x -> SerializeError (SerializeError' a x b e)+ -> (\x -> SerializeError (SerializeError' a x b e)) <$> g s+ ServiceError e- -> g (_serviceStatus e) <&> \x -> ServiceError (e { _serviceStatus = x })+ -> (\x -> ServiceError (e { _serviceStatus = x }))+ <$> g (_serviceStatus e) hasStatus :: (Applicative f, Choice p) => Int
src/Network/AWS/Types.hs view
@@ -120,46 +120,45 @@ , _Default ) where -import Control.Applicative-import Control.Concurrent (ThreadId)-import Control.DeepSeq-import Control.Exception-import Control.Monad.IO.Class-import Control.Monad.Trans.Resource-import Data.Aeson hiding (Error)-import qualified Data.ByteString as BS-import Data.ByteString.Builder (Builder)-import Data.Coerce-import Data.Conduit-import Data.Data (Data, Typeable)-import Data.Hashable-import Data.IORef-import Data.Maybe-import Data.Monoid-import Data.Proxy-import Data.String-import qualified Data.Text as Text-import qualified Data.Text.Encoding as Text-import Data.Time-import GHC.Generics (Generic)-import Network.AWS.Data.Body-import Network.AWS.Data.ByteString-import Network.AWS.Data.JSON-import Network.AWS.Data.Log-import Network.AWS.Data.Path-import Network.AWS.Data.Query-import Network.AWS.Data.Text-import Network.AWS.Data.XML-import Network.AWS.Lens (Iso', Lens', Prism', Setter')-import Network.AWS.Lens (exception, iso, lens, prism,- sets)-import Network.HTTP.Conduit hiding (Proxy, Request, Response)-import qualified Network.HTTP.Conduit as Client-import Network.HTTP.Types.Header-import Network.HTTP.Types.Method-import Network.HTTP.Types.Status (Status)-import Text.XML (def)+import Control.Applicative+import Control.Concurrent (ThreadId)+import Control.DeepSeq+import Control.Exception+import Control.Monad.IO.Class+import Control.Monad.Trans.Resource+import Data.Aeson hiding (Error)+import Data.ByteString.Builder (Builder)+import Data.Coerce+import Data.Conduit+import Data.Data (Data, Typeable)+import Data.Hashable+import Data.IORef+import Data.Maybe+import Data.Monoid+import Data.Proxy+import Data.String+import Data.Time+import GHC.Generics (Generic)+import Network.AWS.Data.Body+import Network.AWS.Data.ByteString+import Network.AWS.Data.JSON+import Network.AWS.Data.Log+import Network.AWS.Data.Path+import Network.AWS.Data.Query+import Network.AWS.Data.Text+import Network.AWS.Data.XML+import Network.AWS.Lens (Iso', Lens', Prism', Setter')+import Network.AWS.Lens (exception, iso, lens, prism, sets)+import Network.HTTP.Conduit hiding (Proxy, Request, Response)+import Network.HTTP.Types.Header+import Network.HTTP.Types.Method+import Network.HTTP.Types.Status (Status) +import qualified Data.ByteString as BS+import qualified Data.Text as Text+import qualified Data.Text.Encoding as Text+import qualified Network.HTTP.Conduit as Client+ -- | A convenience alias to avoid type ambiguity. type ClientRequest = Client.Request @@ -443,13 +442,15 @@ -- | Construct a 'ClientRequest' using common parameters such as TLS and prevent -- throwing errors when receiving erroneous status codes in respones. clientRequest :: Endpoint -> Maybe Seconds -> ClientRequest-clientRequest e t = def+clientRequest e t = Client.defaultRequest { Client.secure = _endpointSecure e , Client.host = _endpointHost e , Client.port = _endpointPort e , Client.redirectCount = 0- , Client.checkStatus = \_ _ _ -> Nothing- , Client.responseTimeout = microseconds <$> t+ , Client.responseTimeout =+ case t of+ Nothing -> Client.responseTimeoutNone+ Just x -> Client.responseTimeoutMicro (microseconds x) } -- | An unsigned request.@@ -566,6 +567,7 @@ | Tokyo -- ^ Asia Pacific / ap-northeast-1 | Singapore -- ^ Asia Pacific / ap-southeast-1 | Sydney -- ^ Asia Pacific / ap-southeast-2+ | Bombay -- ^ Asia Pacific / ap-south-1 | Beijing -- ^ China / cn-north-1 | NorthVirginia -- ^ US / us-east-1 | NorthCalifornia -- ^ US / us-west-1@@ -585,6 +587,7 @@ "ap-northeast-1" -> pure Tokyo "ap-southeast-1" -> pure Singapore "ap-southeast-2" -> pure Sydney+ "ap-south-1" -> pure Bombay "cn-north-1" -> pure Beijing "us-east-1" -> pure NorthVirginia "us-west-2" -> pure Oregon@@ -601,6 +604,7 @@ Tokyo -> "ap-northeast-1" Singapore -> "ap-southeast-1" Sydney -> "ap-southeast-2"+ Bombay -> "ap-south-1" Beijing -> "cn-north-1" NorthVirginia -> "us-east-1" NorthCalifornia -> "us-west-1"@@ -614,8 +618,10 @@ instance ToLog Region where build = build . toBS -instance FromXML Region where parseXML = parseXMLText "Region"-instance ToXML Region where toXML = toXMLText+instance FromXML Region where parseXML = parseXMLText "Region"+instance ToXML Region where toXML = toXMLText+instance FromJSON Region where parseJSON = parseJSONText "Region"+instance ToJSON Region where toJSON = toJSONText -- | An integral value representing seconds. newtype Seconds = Seconds Int