Harmonize reqCookie and acceptLang.
This commit is contained in:
parent
09017eb29a
commit
5cec074cfb
@ -17,7 +17,6 @@ import Yesod.Internal
|
|||||||
import qualified Network.Wai as W
|
import qualified Network.Wai as W
|
||||||
import System.Random (RandomGen, newStdGen, randomRs)
|
import System.Random (RandomGen, newStdGen, randomRs)
|
||||||
import Web.Cookie (parseCookiesText)
|
import Web.Cookie (parseCookiesText)
|
||||||
import Data.Monoid (mempty)
|
|
||||||
import qualified Data.ByteString.Char8 as S8
|
import qualified Data.ByteString.Char8 as S8
|
||||||
import Data.Text (Text, pack)
|
import Data.Text (Text, pack)
|
||||||
import Network.HTTP.Types (queryToQueryText)
|
import Network.HTTP.Types (queryToQueryText)
|
||||||
@ -51,9 +50,9 @@ parseWaiRequest' :: RandomGen g
|
|||||||
parseWaiRequest' env session' key' gen = Request gets'' cookies' env langs' nonce
|
parseWaiRequest' env session' key' gen = Request gets'' cookies' env langs' nonce
|
||||||
where
|
where
|
||||||
gets' = queryToQueryText $ W.queryString env
|
gets' = queryToQueryText $ W.queryString env
|
||||||
reqCookie = fromMaybe mempty $ lookup "Cookie"
|
gets'' = map (second $ fromMaybe "") gets'
|
||||||
$ W.requestHeaders env
|
reqCookie = lookup "Cookie" $ W.requestHeaders env
|
||||||
cookies' = parseCookiesText reqCookie
|
cookies' = maybe [] parseCookiesText reqCookie
|
||||||
acceptLang = lookup "Accept-Language" $ W.requestHeaders env
|
acceptLang = lookup "Accept-Language" $ W.requestHeaders env
|
||||||
langs = map (pack . S8.unpack) $ maybe [] NWP.parseHttpAccept acceptLang
|
langs = map (pack . S8.unpack) $ maybe [] NWP.parseHttpAccept acceptLang
|
||||||
-- The language preferences are prioritized as follows:
|
-- The language preferences are prioritized as follows:
|
||||||
@ -61,7 +60,6 @@ parseWaiRequest' env session' key' gen = Request gets'' cookies' env langs' nonc
|
|||||||
, lookup langKey cookies' -- Cookie _LANG
|
, lookup langKey cookies' -- Cookie _LANG
|
||||||
, lookup langKey session' -- Session _LANG
|
, lookup langKey session' -- Session _LANG
|
||||||
] ++ langs -- Accept-Language(s)
|
] ++ langs -- Accept-Language(s)
|
||||||
gets'' = map (second $ fromMaybe "") gets'
|
|
||||||
-- If the session is not secure a nonce should not be
|
-- If the session is not secure a nonce should not be
|
||||||
-- used (any nonce present in the session is ignored).
|
-- used (any nonce present in the session is ignored).
|
||||||
-- If a secure session has no nonceKey a new one is
|
-- If a secure session has no nonceKey a new one is
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user