on master help sign in
Merge pull request #399 from eskimor/master

Make ServantErr throwable

commit65d0a51d60540be2f7d6feec63af2989cc6919b2 authorAlp Mestanogullari <alpmestan@gmail.com> dateSun 6 Mar 2016, 10:38 (11 years ago) parentd46cde9deb2cca
1 file changed+6−1
servant-server/src/Servant/Server/Internal/ServantErr.hs+6−1
servant-server/src/Servant/Server/Internal/ServantErr.hs+6−1
@@ -1,9 +1,12 @@
11{-# LANGUAGE OverloadedStrings #-}
22{-# LANGUAGE RecordWildCards #-}
3+{-# LANGUAGE DeriveDataTypeable #-}
34module Servant.Server.Internal.ServantErr where
45
6+import Control.Exception (Exception)
57import qualified Data.ByteString.Char8 as BS
68import qualified Data.ByteString.Lazy as LBS
9+import Data.Typeable (Typeable)
710import qualified Network.HTTP.Types as HTTP
811import Network.Wai (Response, responseLBS)
912
@@ -11,7 +14,9 @@ data ServantErr = ServantErr { errHTTPCode :: Int
1114 , errReasonPhrase :: String
1215 , errBody :: LBS.ByteString
1316 , errHeaders :: [HTTP.Header]
14− } deriving (Show, Eq, Read)
17+ } deriving (Show, Eq, Read, Typeable)
18+
19+instance Exception ServantErr
1520
1621responseServantErr :: ServantErr -> Response
1722responseServantErr ServantErr{..} = responseLBS status errHeaders errBody