-- |Sum type for any error conditions in a API request. module Cryptsy.API.Public.Types.Error where -- aeson import Data.Aeson (Value) -- http-client import Network.HTTP.Client (HttpException, Request) -- pipes-attoparsec import Pipes.Attoparsec (ParsingError) -- |error conditions w/ debugging information for an API request data CryptsyError = BadURL { badURL :: String, httpException :: HttpException } | FailReadResponse { request :: Request, httpException :: HttpException } | FailParseResponse { parsingError :: ParsingError } | ErrorResponse { errorValue :: Value } | UnsuccessfulResponse { jsonResponse :: Value } | FailParseReturn { dataValue :: Value, errorMessage :: String } deriving Show