mattermost-api-30802.1.0: src/Network/Mattermost/Exceptions.hs
{-# LANGUAGE DeriveDataTypeable #-}
module Network.Mattermost.Exceptions
( -- Exception Types
LoginFailureException(..)
, URIParseException(..)
, ContentTypeException(..)
, JSONDecodeException(..)
, HeaderNotFoundException(..)
, HTTPResponseException(..)
, ConnectionException(..)
, MattermostServerError(..)
) where
import qualified Data.Text as T
import Data.Typeable ( Typeable )
import Control.Exception ( Exception(..) )
import Network.Stream ( ConnError )
--
-- Unlike many exceptions in this file, this is a mattermost specific exception
data LoginFailureException = LoginFailureException String
deriving (Show, Typeable)
instance Exception LoginFailureException
--
data URIParseException = URIParseException String
deriving (Show, Typeable)
instance Exception URIParseException
--
data ContentTypeException = ContentTypeException String
deriving (Show, Typeable)
instance Exception ContentTypeException
--
data JSONDecodeException
= JSONDecodeException
{ jsonDecodeExceptionMsg :: String
, jsonDecodeExceptionJSON :: String
} deriving (Show, Typeable)
instance Exception JSONDecodeException
--
data HeaderNotFoundException = HeaderNotFoundException String
deriving (Show, Typeable)
instance Exception HeaderNotFoundException
--
data MattermostServerError = MattermostServerError T.Text
deriving (Show, Typeable)
instance Exception MattermostServerError
--
data HTTPResponseException = HTTPResponseException String
deriving (Show, Typeable)
instance Exception HTTPResponseException
--
data ConnectionException = ConnectionException ConnError
deriving (Show, Typeable)
instance Exception ConnectionException