Merge branch '384-alerts-header-nicht-utf-8-encodiert' into 'master'

Percent-encode Alerts header

Closes #384

See merge request !226
This commit is contained in:
Gregor Kleen 2019-05-20 23:57:49 +02:00
commit 2ce7925bb4
2 changed files with 3 additions and 2 deletions

View File

@ -1114,7 +1114,7 @@ instance Yesod UniWorX where
lift . bracketOnError getMessages (mapM_ $ uncurry Yesod.addMessage) $ \msgs -> do lift . bracketOnError getMessages (mapM_ $ uncurry Yesod.addMessage) $ \msgs -> do
Just msgs' <- return . forM msgs $ \(msgState, content) -> Message <$> fromPathPiece msgState <*> return content Just msgs' <- return . forM msgs $ \(msgState, content) -> Message <$> fromPathPiece msgState <*> return content
addCustomHeader HeaderAlerts . decodeUtf8 $ JSON.encode msgs' addCustomHeader HeaderAlerts . decodeUtf8 . urlEncode True . toStrict $ JSON.encode msgs'
-- Since we implement `errorHandler` ourselves we don't need `defaultMessageWidget` -- Since we implement `errorHandler` ourselves we don't need `defaultMessageWidget`
defaultMessageWidget _title _body = error "defaultMessageWidget: undefined" defaultMessageWidget _title _body = error "defaultMessageWidget: undefined"

View File

@ -160,7 +160,8 @@
var alerts; var alerts;
for (var header of response.headers) { for (var header of response.headers) {
if (header[0] === 'alerts') { if (header[0] === 'alerts') {
alerts = JSON.parse(header[1]); var decodedHeader = decodeURIComponent(header[1]);
alerts = JSON.parse(decodedHeader);
break; break;
} }
} }