git.iko.soy/typeable/rollbar-hs
on master help sign in
2 files changed+6−5
since splitsnapshots
unifiedsplit
rollbar-hs.cabal+1−1 src/Rollbar/Item/Body.hs+5−4
rollbar-hs.cabal+1−1
@@ -51,7 +51,7 @@ library
5151 hs-source-dirs:
5252 src
5353 build-depends:
54− aeson >=1.0
54+ aeson >=1.1
5555 , base >=4.9
5656 , bytestring >=0.10
5757 , case-insensitive >=1.2
src/Rollbar/Item/Body.hs+5−4
@@ -34,7 +34,7 @@ import Data.Aeson
3434 , (.=)
3535 )
3636import Data.Aeson.Encoding (pair)
37−import Data.Aeson.Types (typeMismatch)
37+import Data.Aeson.Types (explicitParseField, typeMismatch)
3838import Data.String (IsString)
3939
4040import GHC.Generics (Generic)
@@ -64,9 +64,10 @@ bodyKVs Message{messageBody, messageData} =
6464 ]
6565
6666instance FromJSON arbitrary => FromJSON (Body arbitrary) where
67− parseJSON (Object o') = do
68− o <- o' .: "message"
69− 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
7071 parseJSON v = typeMismatch "Body arbitrary" v
7172
7273instance ToJSON arbitrary => ToJSON (Body arbitrary) where