git.iko.soy/typeable/rollbar-hs
on master help sign in
Merge pull request #3 from typeable/mniip/deps

Dependency updates

commit58047fae177730f4aa79e3d43497d4759b905d7b authormniip <mniip@users.noreply.github.com> dateTue 9 Dec 2025, 01:26 (1 year ago) parent7ed1b099069ae6
6 files changed+45−13
unifiedsplit
rollbar-hs.cabal+9−9 src/Rollbar/Item.hs+8 src/Rollbar/Item/Body.hs+10−4 src/Rollbar/Item/MissingHeaders.hs+4 src/Rollbar/Item/Request.hs+9 src/Rollbar/Item/Server.hs+5
rollbar-hs.cabal+9−9
@@ -51,15 +51,15 @@ library
5151 hs-source-dirs:
5252 src
5353 build-depends:
54− aeson >= 2.2
54+ aeson >=1.1
5555 , base >=4.9
5656 , bytestring >=0.10
5757 , case-insensitive >=1.2
5858 , hostname >=1.0
5959 , http-client >=0.5
6060 , http-conduit >=2.2
61− , http-types >=0.9
62− , network >=2.6
61+ , http-types >=0.8.6
62+ , network >=2.6.3
6363 , text >=1.2
6464 , time >=1.6
6565 , unordered-containers >=0.2
@@ -80,14 +80,14 @@ test-suite doc-test
8080 test
8181 build-depends:
8282 QuickCheck >=2.9
83− , aeson >=1.0
84− , base >=4.9
85− , bytestring >=0.10
86− , case-insensitive >=1.2
83+ , aeson
84+ , base
85+ , bytestring
86+ , case-insensitive
8787 , hashable
8888 , hspec >=2.4
8989 , hspec-golden-aeson >=0.2
9090 , rollbar-hs
91− , text >=1.2
92− , unordered-containers >=0.2
91+ , text
92+ , unordered-containers
9393 default-language: Haskell2010
src/Rollbar/Item.hs+8
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE DataKinds #-}
23{-# LANGUAGE DeriveGeneric #-}
34{-# LANGUAGE NamedFieldPuns #-}
@@ -197,10 +198,17 @@ data Item a headers
197198 }
198199 deriving (Eq, Generic, Show)
199200
201+#if MIN_VERSION_aeson(2, 2, 0)
200202itemKVs
201203 :: (KeyValue e kv, RemoveHeaders headers, ToJSON v)
202204 => Item v headers
203205 -> [kv]
206+#else
207+itemKVs
208+ :: (KeyValue kv, RemoveHeaders headers, ToJSON v)
209+ => Item v headers
210+ -> [kv]
211+#endif
204212itemKVs Item{accessToken, itemData} =
205213 [ "access_token" .= accessToken
206214 , "data" .= itemData
src/Rollbar/Item/Body.hs+10−4
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE DeriveGeneric #-}
23{-# LANGUAGE GeneralizedNewtypeDeriving #-}
34{-# LANGUAGE NamedFieldPuns #-}
@@ -33,7 +34,7 @@ import Data.Aeson
3334 , (.=)
3435 )
3536import Data.Aeson.Encoding (pair)
36−import Data.Aeson.Types (typeMismatch)
37+import Data.Aeson.Types (explicitParseField, typeMismatch)
3738import Data.String (IsString)
3839
3940import GHC.Generics (Generic)
@@ -52,16 +53,21 @@ data Body arbitrary
5253 }
5354 deriving (Eq, Generic, Show)
5455
56+#if MIN_VERSION_aeson(2, 2, 0)
5557bodyKVs :: (KeyValue e kv, ToJSON v) => Body v -> [kv]
58+#else
59+bodyKVs :: (KeyValue kv, ToJSON v) => Body v -> [kv]
60+#endif
5661bodyKVs Message{messageBody, messageData} =
5762 [ "body" .= messageBody
5863 , "data" .= messageData
5964 ]
6065
6166instance FromJSON arbitrary => FromJSON (Body arbitrary) where
62− parseJSON (Object o') = do
63− o <- o' .: "message"
64− Message <$> o .: "body" <*> o .: "data"
67+ parseJSON (Object o') = explicitParseField parseMessage o' "message"
68+ where
69+ parseMessage (Object o) = Message <$> o .: "body" <*> o .: "data"
70+ parseMessage v = typeMismatch "Body arbitrary (message)" v
6571 parseJSON v = typeMismatch "Body arbitrary" v
6672
6773instance ToJSON arbitrary => ToJSON (Body arbitrary) where
src/Rollbar/Item/MissingHeaders.hs+4
@@ -64,7 +64,11 @@ instance FromJSON (MissingHeaders headers) where
6464instance RemoveHeaders headers => ToJSON (MissingHeaders headers) where
6565 toJSON = object . catMaybes . requestHeadersKVs . removeHeaders
6666
67+#if MIN_VERSION_aeson(2, 2, 0)
6768requestHeadersKVs :: forall e kv. KeyValue e kv => RequestHeaders -> [Maybe kv]
69+#else
70+requestHeadersKVs :: forall kv. KeyValue kv => RequestHeaders -> [Maybe kv]
71+#endif
6872requestHeadersKVs = fmap go
6973 where
7074 go :: Header -> Maybe kv
src/Rollbar/Item/Request.hs+9
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE DeriveGeneric #-}
23{-# LANGUAGE GeneralizedNewtypeDeriving #-}
34{-# LANGUAGE NamedFieldPuns #-}
@@ -97,7 +98,11 @@ instance ToJSON Get where
9798 toJSON (Get q) = object . catMaybes . queryKVs $ q
9899 toEncoding (Get q) = pairs . mconcat . catMaybes . queryKVs $ q
99100
101+#if MIN_VERSION_aeson(2, 2, 0)
100102queryKVs :: forall e kv. KeyValue e kv => Query -> [Maybe kv]
103+#else
104+queryKVs :: forall kv. KeyValue kv => Query -> [Maybe kv]
105+#endif
101106queryKVs = fmap go
102107 where
103108 go :: (BS.ByteString, Maybe BS.ByteString) -> Maybe kv
@@ -150,7 +155,11 @@ instance ToJSON IP where
150155 toJSON (IP ip) = toJSON (show ip)
151156 toEncoding (IP ip) = toEncoding (show ip)
152157
158+#if MIN_VERSION_aeson(2, 2, 0)
153159requestKVs :: (KeyValue e kv, RemoveHeaders headers) => Request headers -> [kv]
160+#else
161+requestKVs :: (KeyValue kv, RemoveHeaders headers) => Request headers -> [kv]
162+#endif
154163requestKVs Request{get, headers, method, queryString, rawBody, url, userIP} =
155164 [ "body" .= rawBody
156165 , "GET" .= get
src/Rollbar/Item/Server.hs+5
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE DeriveGeneric #-}
23{-# LANGUAGE GeneralizedNewtypeDeriving #-}
34{-# LANGUAGE NamedFieldPuns #-}
@@ -57,7 +58,11 @@ data Server
5758 }
5859 deriving (Eq, Generic, Show)
5960
61+#if MIN_VERSION_aeson(2, 2, 0)
6062serverKVs :: KeyValue e kv => Server -> [Maybe kv]
63+#else
64+serverKVs :: KeyValue kv => Server -> [Maybe kv]
65+#endif
6166serverKVs Server{branch, host, root, serverCodeVersion} =
6267 [ ("host" .=) <$> host
6368 , ("root" .=) <$> root