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
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`
defaultMessageWidget _title _body = error "defaultMessageWidget: undefined"

View File

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