ez-couch-0.5.0: src/EZCouch/Model/Error.hs
{-# LANGUAGE OverloadedStrings, NoMonomorphismRestriction, FlexibleContexts, MultiParamTypeClasses, ScopedTypeVariables, DeriveDataTypeable, DeriveGeneric #-}
module EZCouch.Model.Error where
import Prelude ()
import ClassyPrelude
import GHC.Generics
import Data.Aeson hiding (Error)
data Error =
Error {
error :: Text,
reason :: Maybe Text,
stack :: Maybe [Text]
}
deriving (Show, Eq, Generic)
instance FromJSON Error where
parseJSON = withObject "Error" $ \o ->
Error <$> o .: "error" <*> o .:? "reason" <*> o .:? "stack"