yesod-core 1.2.13 → 1.2.13.1
raw patch · 3 files changed
+17/−5 lines, 3 files
Files
- Yesod/Core/Internal/Run.hs +14/−2
- Yesod/Core/Types.hs +2/−2
- yesod-core.cabal +1/−1
Yesod/Core/Internal/Run.hs view
@@ -49,8 +49,20 @@ import Yesod.Core.Internal.Request (parseWaiRequest, tooLargeResponse) import Yesod.Routes.Class (Route, renderRoute)-import Control.DeepSeq (($!!))+import Control.DeepSeq (($!!), NFData)+import Control.Monad (liftM) +returnDeepSessionMap :: Monad m => SessionMap -> m SessionMap+#if MIN_VERSION_bytestring(0, 10, 0)+returnDeepSessionMap sm = return $!! sm+#else+returnDeepSessionMap sm = fmap unWrappedBS `liftM` (return $!! fmap WrappedBS sm)++-- | Work around missing NFData instance for bytestring 0.9.+newtype WrappedBS = WrappedBS { unWrappedBS :: S8.ByteString }+instance NFData WrappedBS+#endif+ -- | Function used internally by Yesod in the process of converting a -- 'HandlerT' into an 'Application'. Should not be needed by users. runHandler :: ToTypedContent c@@ -82,7 +94,7 @@ state <- liftIO $ I.readIORef istate (finalSession, mcontents1) <- (do- finalSession <- return $!! ghsSession state+ finalSession <- returnDeepSessionMap (ghsSession state) return (finalSession, Nothing)) `E.catch` \e -> return (Map.empty, Just $! HCError $! InternalError $! T.pack $! show (e :: E.SomeException))
Yesod/Core/Types.hs view
@@ -318,8 +318,8 @@ -- annotations to SetCookie in the cookie package. instance NFData Header where rnf (AddCookie x) = rnf x- rnf (DeleteCookie x y) = rnf x `seq` rnf y- rnf (Header x y) = rnf x `seq` rnf y+ rnf (DeleteCookie x y) = x `seq` y `seq` ()+ rnf (Header x y) = x `seq` y `seq` () data Location url = Local url | Remote Text deriving (Show, Eq)
yesod-core.cabal view
@@ -1,5 +1,5 @@ name: yesod-core-version: 1.2.13+version: 1.2.13.1 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>