setLanguage uses user session
This commit is contained in:
parent
5bed76f067
commit
6ce79d673f
@ -321,14 +321,17 @@ parseWaiRequest env session' = do
|
|||||||
cookies' = map (S.toString *** S.toString) $ parseCookies reqCookie
|
cookies' = map (S.toString *** S.toString) $ parseCookies reqCookie
|
||||||
acceptLang = lookup W.AcceptLanguage $ W.requestHeaders env
|
acceptLang = lookup W.AcceptLanguage $ W.requestHeaders env
|
||||||
langs = map S.toString $ maybe [] parseHttpAccept acceptLang
|
langs = map S.toString $ maybe [] parseHttpAccept acceptLang
|
||||||
langs' = case lookup langKey cookies' of
|
langs' = case lookup langKey session' of
|
||||||
Nothing -> langs
|
Nothing -> langs
|
||||||
Just x -> x : langs
|
Just x -> x : langs
|
||||||
langs'' = case lookup langKey gets' of
|
langs'' = case lookup langKey cookies' of
|
||||||
Nothing -> langs'
|
Nothing -> langs'
|
||||||
Just x -> x : langs'
|
Just x -> x : langs'
|
||||||
|
langs''' = case lookup langKey gets' of
|
||||||
|
Nothing -> langs''
|
||||||
|
Just x -> x : langs''
|
||||||
rbthunk <- iothunk $ rbHelper env
|
rbthunk <- iothunk $ rbHelper env
|
||||||
return $ Request gets' cookies' session' rbthunk env langs''
|
return $ Request gets' cookies' session' rbthunk env langs'''
|
||||||
|
|
||||||
rbHelper :: W.Request -> IO RequestBodyContents
|
rbHelper :: W.Request -> IO RequestBodyContents
|
||||||
rbHelper = fmap (fix1 *** map fix2) . parseRequestBody lbsSink where
|
rbHelper = fmap (fix1 *** map fix2) . parseRequestBody lbsSink where
|
||||||
|
|||||||
@ -382,9 +382,9 @@ setCookie a b = addHeader . AddCookie a b
|
|||||||
deleteCookie :: String -> GHandler sub master ()
|
deleteCookie :: String -> GHandler sub master ()
|
||||||
deleteCookie = addHeader . DeleteCookie
|
deleteCookie = addHeader . DeleteCookie
|
||||||
|
|
||||||
-- | Set the language header. Will show up in 'languages'.
|
-- | Set the language in the user session. Will show up in 'languages'.
|
||||||
setLanguage :: String -> GHandler sub master ()
|
setLanguage :: String -> GHandler sub master ()
|
||||||
setLanguage = setCookie 60 langKey -- FIXME shouldn't we use session for this?
|
setLanguage = setSession langKey
|
||||||
|
|
||||||
-- | Set an arbitrary header on the client.
|
-- | Set an arbitrary header on the client.
|
||||||
setHeader :: String -> String -> GHandler sub master ()
|
setHeader :: String -> String -> GHandler sub master ()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user