module Network.Mattermost.Exceptions
(
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 )
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