packages feed

aws 0.14.0 → 0.14.1

raw patch · 6 files changed

+34/−22 lines, 6 filesdep ~aesondep ~http-clientdep ~http-client-tlsPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: aeson, http-client, http-client-tls

API changes (from Hackage documentation)

- Aws.DynamoDb.Commands.DeleteItem: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse
- Aws.DynamoDb.Commands.DeleteItem: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.DeleteItem.DeleteItem
- Aws.DynamoDb.Commands.GetItem: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.GetItem.GetItemResponse
- Aws.DynamoDb.Commands.GetItem: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.GetItem.GetItem
- Aws.DynamoDb.Commands.PutItem: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.PutItem.PutItemResponse
- Aws.DynamoDb.Commands.PutItem: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.PutItem.PutItem
- Aws.DynamoDb.Commands.Query: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Query.QueryResponse
- Aws.DynamoDb.Commands.Query: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Query.Query
- Aws.DynamoDb.Commands.Scan: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Scan.ScanResponse
- Aws.DynamoDb.Commands.Scan: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Scan.Scan
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.AttributeDefinition
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.AttributeType
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.CreateTableResult
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.DeleteTableResult
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.DescribeTableResult
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndex
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexStatus
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.KeySchema
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.ListTablesResult
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.LocalSecondaryIndex
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.LocalSecondaryIndexStatus
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.Projection
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.ProvisionedThroughput
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.ProvisionedThroughputStatus
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.TableDescription
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.Table.UpdateTableResult
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.AttributeDefinition
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.AttributeType
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.CreateTable
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.DeleteTable
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.DescribeTable
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndex
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexUpdate
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.KeySchema
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.ListTables
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.LocalSecondaryIndex
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.Projection
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.ProvisionedThroughput
- Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.Table.UpdateTable
- Aws.DynamoDb.Commands.UpdateItem: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse
- Aws.DynamoDb.Commands.UpdateItem: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.UpdateItem.AttributeUpdates
- Aws.DynamoDb.Commands.UpdateItem: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.UpdateItem.UpdateAction
- Aws.DynamoDb.Commands.UpdateItem: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Commands.UpdateItem.UpdateItem
- Aws.DynamoDb.Commands.UpdateItem: type AttributeUpdates = [AttributeUpdate]
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Core.AmazonError
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Core.ConsumedCapacity
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Core.DValue
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.FromJSON Aws.DynamoDb.Core.ItemCollectionMetrics
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Core.Attribute
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Core.CondOp
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Core.DValue
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Core.PrimaryKey
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Core.ReturnConsumption
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Core.ReturnItemCollectionMetrics
- Aws.DynamoDb.Core: instance Data.Aeson.Types.Class.ToJSON Aws.DynamoDb.Core.UpdateReturn
+ Aws.DynamoDb.Commands.DeleteItem: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.DeleteItem.DeleteItemResponse
+ Aws.DynamoDb.Commands.DeleteItem: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.DeleteItem.DeleteItem
+ Aws.DynamoDb.Commands.GetItem: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.GetItem.GetItemResponse
+ Aws.DynamoDb.Commands.GetItem: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.GetItem.GetItem
+ Aws.DynamoDb.Commands.PutItem: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.PutItem.PutItemResponse
+ Aws.DynamoDb.Commands.PutItem: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.PutItem.PutItem
+ Aws.DynamoDb.Commands.Query: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Query.QueryResponse
+ Aws.DynamoDb.Commands.Query: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Query.Query
+ Aws.DynamoDb.Commands.Scan: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Scan.ScanResponse
+ Aws.DynamoDb.Commands.Scan: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Scan.Scan
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.AttributeDefinition
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.AttributeType
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.CreateTableResult
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.DeleteTableResult
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.DescribeTableResult
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndex
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexStatus
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.KeySchema
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.ListTablesResult
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.LocalSecondaryIndex
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.LocalSecondaryIndexStatus
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.Projection
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.ProvisionedThroughput
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.ProvisionedThroughputStatus
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.TableDescription
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.Table.UpdateTableResult
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.AttributeDefinition
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.AttributeType
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.CreateTable
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.DeleteTable
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.DescribeTable
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndex
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.GlobalSecondaryIndexUpdate
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.KeySchema
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.ListTables
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.LocalSecondaryIndex
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.Projection
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.ProvisionedThroughput
+ Aws.DynamoDb.Commands.Table: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.Table.UpdateTable
+ Aws.DynamoDb.Commands.UpdateItem: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Commands.UpdateItem.UpdateItemResponse
+ Aws.DynamoDb.Commands.UpdateItem: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.UpdateItem.AttributeUpdates
+ Aws.DynamoDb.Commands.UpdateItem: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.UpdateItem.UpdateAction
+ Aws.DynamoDb.Commands.UpdateItem: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Commands.UpdateItem.UpdateItem
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Core.AmazonError
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Core.ConsumedCapacity
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Core.DValue
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.FromJSON.FromJSON Aws.DynamoDb.Core.ItemCollectionMetrics
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.Attribute
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.CondOp
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.DValue
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.PrimaryKey
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.ReturnConsumption
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.ReturnItemCollectionMetrics
+ Aws.DynamoDb.Core: instance Data.Aeson.Types.ToJSON.ToJSON Aws.DynamoDb.Core.UpdateReturn

Files

Aws/DynamoDb/Commands/UpdateItem.hs view
@@ -19,7 +19,15 @@ -- ---------------------------------------------------------------------------- -module Aws.DynamoDb.Commands.UpdateItem where+module Aws.DynamoDb.Commands.UpdateItem+    ( UpdateItem(..)+    , updateItem+    , AttributeUpdate(..)+    , au+    , UpdateAction(..)+    , UpdateItem(..)+    , UpdateItemResponse(..)+    ) where  ------------------------------------------------------------------------------- import           Control.Applicative@@ -55,7 +63,10 @@ updateItem tn key ups = UpdateItem tn key ups def def def def  -type AttributeUpdates = [AttributeUpdate]+-- | A helper to avoid overlapping instances for 'ToJSON'.+newtype AttributeUpdates = AttributeUpdates {+    getAttributeUpdates :: [AttributeUpdate]+    }   data AttributeUpdate = AttributeUpdate {@@ -77,7 +88,7 @@   instance ToJSON AttributeUpdates where-    toJSON = object . map mk+    toJSON = object . map mk . getAttributeUpdates         where           mk AttributeUpdate { auAction = UDelete, auAttr = auAttr } =             (attrName auAttr) .= object@@ -114,7 +125,7 @@         object $ expectsJson uiExpect ++           [ "TableName" .= uiTable           , "Key" .= uiKey-          , "AttributeUpdates" .= uiUpdates+          , "AttributeUpdates" .= AttributeUpdates uiUpdates           , "ReturnValues" .= uiReturn           , "ReturnConsumedCapacity" .= uiRetCons           , "ReturnItemCollectionMetrics" .= uiRetMet
Aws/S3/Commands/GetService.hs view
@@ -6,9 +6,7 @@ import           Aws.S3.Core import           Data.Maybe import           Data.Time.Format-#if MIN_VERSION_time(1,5,0)-import           Data.Time.Format-#else+#if !MIN_VERSION_time(1,5,0) import           System.Locale #endif import           Text.XML.Cursor  (($/), ($//), (&|))
Aws/S3/Commands/PutObject.hs view
@@ -66,7 +66,7 @@                                             , ("x-amz-storage-class",) <$> writeStorageClass <$> poStorageClass                                             , ("x-amz-website-redirect-location",) <$> poWebsiteRedirectLocation                                             , ("x-amz-server-side-encryption",) <$> writeServerSideEncryption <$> poServerSideEncryption-					    , if poAutoMakeBucket then Just ("x-amz-auto-make-bucket", "1")  else Nothing+                                            , if poAutoMakeBucket then Just ("x-amz-auto-make-bucket", "1")  else Nothing                                             ] ++ map( \x -> (CI.mk . T.encodeUtf8 $ T.concat ["x-amz-meta-", fst x], snd x)) poMetadata                                , s3QOtherHeaders = map (second T.encodeUtf8) $ catMaybes [                                               ("Expires",) . T.pack . show <$> poExpires
Aws/SimpleDb/Core.hs view
@@ -32,7 +32,7 @@  instance C.Exception SdbError -data SdbMetadata +data SdbMetadata     = SdbMetadata {         requestId :: Maybe T.Text       , boxUsage :: Maybe T.Text@@ -63,11 +63,11 @@   debugServiceConfig = sdbHttpPost sdbUsEast  instance DefaultServiceConfiguration (SdbConfiguration UriOnlyQuery) where-  defServiceConfig = sdbHttpsGet sdbUsEast  +  defServiceConfig = sdbHttpsGet sdbUsEast   debugServiceConfig = sdbHttpGet sdbUsEast-             + sdbUsEast :: B.ByteString-sdbUsEast = "sdb.amazonaws.com" +sdbUsEast = "sdb.amazonaws.com"  sdbUsWest :: B.ByteString sdbUsWest = "sdb.us-west-1.amazonaws.com"@@ -80,16 +80,16 @@  sdbApNortheast :: B.ByteString sdbApNortheast = "sdb.ap-northeast-1.amazonaws.com"-             + sdbHttpGet :: B.ByteString -> SdbConfiguration qt sdbHttpGet endpoint = SdbConfiguration HTTP Get endpoint (defaultPort HTTP)-                          + sdbHttpPost :: B.ByteString -> SdbConfiguration NormalQuery sdbHttpPost endpoint = SdbConfiguration HTTP PostQuery endpoint (defaultPort HTTP)-              + sdbHttpsGet :: B.ByteString -> SdbConfiguration qt sdbHttpsGet endpoint = SdbConfiguration HTTPS Get endpoint (defaultPort HTTPS)-             + sdbHttpsPost :: B.ByteString -> SdbConfiguration NormalQuery sdbHttpsPost endpoint = SdbConfiguration HTTPS PostQuery endpoint (defaultPort HTTPS) @@ -122,13 +122,13 @@                   , ("AWSAccessKeyId", accessKeyID cr)                   , ("SignatureMethod", amzHash ah)                   , ("SignatureVersion", "2")]-		  ++ maybe [] (\tok -> [("SecurityToken", tok)]) (iamToken cr)+                  ++ maybe [] (\tok -> [("SecurityToken", tok)]) (iamToken cr)       sq = ("Signature", Just sig) : q'       method = sdbiHttpMethod si       host = sdbiHost si       path = "/"       sig = signature cr ah stringToSign-      stringToSign = Blaze.toByteString . mconcat $ +      stringToSign = Blaze.toByteString . mconcat $                      intersperse (Blaze8.fromChar '\n')                        [Blaze.copyByteString $ httpMethod method                        , Blaze.copyByteString $ host
CHANGELOG.md view
@@ -2,6 +2,9 @@  NOTES: 0.14 brings potentially breaking changes +-   0.14.1+    -   Eliminate orphan instance that conflicted with aeson-1.0+    -   Add upper bound on http-client in testsuite -   0.14     -   transformers 0.5 support     -   data-default 0.6 support (also in 0.13.1)
aws.cabal view
@@ -1,5 +1,5 @@ Name:                aws-Version:             0.14.0+Version:             0.14.1 Synopsis:            Amazon Web Services (AWS) for Haskell Description:         Bindings for Amazon Web Services (AWS), with the aim of supporting all AWS services. To see a high level overview of the library, see the README at <https://github.com/aristidb/aws/blob/master/README.md>. Homepage:            http://github.com/aristidb/aws@@ -327,7 +327,7 @@         base == 4.*,         bytestring >= 0.10,         errors >= 2.0,-        http-client >= 0.3,+        http-client >= 0.3 && < 0.5,         lifted-base >= 0.2,         monad-control >= 0.3,         mtl >= 2.1,@@ -388,8 +388,8 @@         aws,         base == 4.*,         bytestring,-        http-client,-        http-client-tls,+        http-client < 0.5,+        http-client-tls < 0.5,         http-types,         resourcet,         tasty >= 0.8,