diff options
| author | krangelov <kr.angelov@gmail.com> | 2020-10-02 19:55:24 +0200 |
|---|---|---|
| committer | krangelov <kr.angelov@gmail.com> | 2020-10-02 19:55:24 +0200 |
| commit | f3a8658cc1ed5b2721ee9d3f670f6b9a49f0f049 (patch) | |
| tree | 8a311ec3c3a454088fa3c74b4464f974fe5aee21 /src/server | |
| parent | bfb94d1e48fded159bbf63a992564cb24e987772 (diff) | |
| parent | f56fbcf86e472262d07c6bd713f6955cfbcfee8a (diff) | |
Merge branch 'master' of https://github.com/GrammaticalFramework/gf-core
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/CGI.hs | 2 | ||||
| -rw-r--r-- | src/server/CGIUtils.hs | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/server/CGI.hs b/src/server/CGI.hs index 1a77351e2..821f93b9c 100644 --- a/src/server/CGI.hs +++ b/src/server/CGI.hs @@ -4,7 +4,7 @@ import Network.CGI as C( CGI,ContentType(..),Accept(..),Language(..), getVarWithDefault,readInput,negotiate,requestAcceptLanguage,getInput, setHeader,output,outputFPS,outputError, - handleErrors,catchCGI,throwCGI, + handleErrors, liftIO) import Network.CGI.Protocol as C(CGIResult(..),CGIRequest(..),Input(..), Headers,HeaderName(..)) diff --git a/src/server/CGIUtils.hs b/src/server/CGIUtils.hs index 04bb8f22c..3c5ce2274 100644 --- a/src/server/CGIUtils.hs +++ b/src/server/CGIUtils.hs @@ -15,11 +15,14 @@ import System.Posix #endif import CGI(CGI,CGIResult,setHeader,output,outputFPS,outputError, - getInput,catchCGI,throwCGI) + getInput) import Text.JSON import qualified Codec.Binary.UTF8.String as UTF8 (encodeString) import qualified Data.ByteString.Lazy as BS +import Control.Monad.Catch (MonadThrow(throwM)) +import Network.CGI.Monad (catchCGI) +import Control.Monad.Catch (MonadCatch(catch)) -- * Logging @@ -53,11 +56,11 @@ instance Exception CGIError where fromException (SomeException e) = cast e throwCGIError :: Int -> String -> [String] -> CGI a -throwCGIError c m t = throwCGI $ toException $ CGIError c m t +throwCGIError c m t = throwM $ toException $ CGIError c m t handleCGIErrors :: CGI CGIResult -> CGI CGIResult handleCGIErrors x = - x `catchCGI` \e -> case fromException e of + x `catch` \e -> case fromException e of Nothing -> throw e Just (CGIError c m t) -> do setXO; outputError c m t |
