chore(error): remove default layout from error handler
This commit is contained in:
parent
5720ba58c8
commit
54a956dc36
@ -72,39 +72,51 @@ errorHandler err = do
|
|||||||
setSessionJson SessionError sessErr
|
setSessionJson SessionError sessErr
|
||||||
|
|
||||||
selectRep $ do
|
selectRep $ do
|
||||||
provideRep $ do
|
-- provideRep $ do
|
||||||
mr <- getMessageRender
|
-- mr <- getMessageRender
|
||||||
let
|
-- let
|
||||||
encrypted :: Text -> WidgetFor UniWorX () -> WidgetFor UniWorX ()
|
-- encrypted :: Text -> WidgetFor UniWorX () -> WidgetFor UniWorX ()
|
||||||
encrypted plaintextJson plaintext = do
|
-- encrypted plaintextJson plaintext = do
|
||||||
let displayEncrypted ciphertext =
|
-- let displayEncrypted ciphertext =
|
||||||
[whamlet|
|
-- [whamlet|
|
||||||
$newline never
|
-- $newline never
|
||||||
<p>_{MsgErrorResponseEncrypted}
|
-- <p>_{MsgErrorResponseEncrypted}
|
||||||
<pre .literal-error>
|
-- <pre .literal-error>
|
||||||
#{ciphertext}
|
-- #{ciphertext}
|
||||||
|]
|
-- |]
|
||||||
if
|
-- if
|
||||||
| isEncrypted && shouldEncrypt -> displayEncrypted plaintextJson
|
-- | isEncrypted && shouldEncrypt -> displayEncrypted plaintextJson
|
||||||
| shouldEncrypt -> displayEncrypted =<< encodedSecretBox SecretBoxPretty plaintextJson
|
-- | shouldEncrypt -> displayEncrypted =<< encodedSecretBox SecretBoxPretty plaintextJson
|
||||||
| otherwise -> plaintext
|
-- | otherwise -> plaintext
|
||||||
|
|
||||||
errPage = case err of
|
-- errPage = case err of
|
||||||
NotFound -> [whamlet|<p>_{MsgErrorResponseNotFound}|]
|
-- NotFound -> [whamlet|<p>_{MsgErrorResponseNotFound}|]
|
||||||
InternalError err'
|
-- InternalError err'
|
||||||
| "Crash Button" `isPrefixOf` err' -> liftIO $ exitImmediately ExitSuccess -- DEBUG: just for Testing
|
-- | "Crash Button" `isPrefixOf` err' -> liftIO $ exitImmediately ExitSuccess -- DEBUG: just for Testing
|
||||||
| otherwise -> encrypted err' [whamlet|<p .literal-error>#{fromMaybe err' decrypted}|]
|
-- | otherwise -> encrypted err' [whamlet|<p .literal-error>#{fromMaybe err' decrypted}|]
|
||||||
InvalidArgs errs -> [whamlet|
|
-- InvalidArgs errs -> [whamlet|
|
||||||
<ul>
|
-- <ul>
|
||||||
$forall err' <- errs
|
-- $forall err' <- errs
|
||||||
<li .literal-error>
|
-- <li .literal-error>
|
||||||
#{err'}
|
-- #{err'}
|
||||||
|]
|
-- |]
|
||||||
NotAuthenticated -> [whamlet|<p>_{MsgErrorResponseNotAuthenticated}|]
|
-- NotAuthenticated -> [whamlet|<p>_{MsgErrorResponseNotAuthenticated}|]
|
||||||
PermissionDenied err' -> [whamlet|<p .errMsg>#{err'}|]
|
-- PermissionDenied err' -> [whamlet|<p .errMsg>#{err'}|]
|
||||||
BadMethod method -> [whamlet|<p>_{MsgErrorResponseBadMethod (decodeUtf8 method)}|]
|
-- BadMethod method -> [whamlet|<p>_{MsgErrorResponseBadMethod (decodeUtf8 method)}|]
|
||||||
siteLayout (toWgt . mr $ ErrorResponseTitle err) $ do
|
-- siteLayout (toWgt . mr $ ErrorResponseTitle err) $ do
|
||||||
errPage
|
-- errPage
|
||||||
|
provideRep $ case err of
|
||||||
|
PermissionDenied err' -> return err'
|
||||||
|
InternalError err'
|
||||||
|
| isEncrypted && shouldEncrypt -> do
|
||||||
|
addHeader "Encrypted-Error-Message" "True"
|
||||||
|
return err'
|
||||||
|
| shouldEncrypt -> do
|
||||||
|
addHeader "Encrypted-Error-Message" "True"
|
||||||
|
encodedSecretBox SecretBoxPretty err'
|
||||||
|
| otherwise -> return $ fromMaybe err' decrypted
|
||||||
|
InvalidArgs errs -> return . Text.unlines . map (Text.replace "\n" "\n\t") $ errs
|
||||||
|
_other -> return Text.empty
|
||||||
provideRep . fmap PrettyValue $ case err of
|
provideRep . fmap PrettyValue $ case err of
|
||||||
PermissionDenied err' -> return $ object [ "message" JSON..= err' ]
|
PermissionDenied err' -> return $ object [ "message" JSON..= err' ]
|
||||||
InternalError err'
|
InternalError err'
|
||||||
@ -120,15 +132,3 @@ errorHandler err = do
|
|||||||
| otherwise -> return $ object [ "message" JSON..= fromMaybe err' decrypted ]
|
| otherwise -> return $ object [ "message" JSON..= fromMaybe err' decrypted ]
|
||||||
InvalidArgs errs -> return $ object [ "messages" JSON..= errs ]
|
InvalidArgs errs -> return $ object [ "messages" JSON..= errs ]
|
||||||
_other -> return $ object []
|
_other -> return $ object []
|
||||||
provideRep $ case err of
|
|
||||||
PermissionDenied err' -> return err'
|
|
||||||
InternalError err'
|
|
||||||
| isEncrypted && shouldEncrypt -> do
|
|
||||||
addHeader "Encrypted-Error-Message" "True"
|
|
||||||
return err'
|
|
||||||
| shouldEncrypt -> do
|
|
||||||
addHeader "Encrypted-Error-Message" "True"
|
|
||||||
encodedSecretBox SecretBoxPretty err'
|
|
||||||
| otherwise -> return $ fromMaybe err' decrypted
|
|
||||||
InvalidArgs errs -> return . Text.unlines . map (Text.replace "\n" "\n\t") $ errs
|
|
||||||
_other -> return Text.empty
|
|
||||||
|
|||||||
Reference in New Issue
Block a user