yesod-core 1.4.8.2 → 1.4.8.3
raw patch · 3 files changed
+13/−3 lines, 3 files
Files
- ChangeLog.md +4/−0
- Yesod/Core/Dispatch.hs +8/−2
- yesod-core.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+## 1.4.8.3++* Use 307 redirect for cleaning paths and non-GET requests [#951](https://github.com/yesodweb/yesod/issues/951)+ ## 1.4.8.2 * Allow blaze-builder 0.4
Yesod/Core/Dispatch.hs view
@@ -47,7 +47,7 @@ import qualified Data.ByteString as S import qualified Data.ByteString.Char8 as S8 import qualified Blaze.ByteString.Builder-import Network.HTTP.Types (status301)+import Network.HTTP.Types (status301, status307) import Yesod.Routes.Parse import Yesod.Core.Types import Yesod.Core.Class.Yesod@@ -96,11 +96,17 @@ site = yreSite yre sendRedirect :: Yesod master => master -> [Text] -> W.Application sendRedirect y segments' env sendResponse =- sendResponse $ W.responseLBS status301+ sendResponse $ W.responseLBS status [ ("Content-Type", "text/plain") , ("Location", Blaze.ByteString.Builder.toByteString dest') ] "Redirecting" where+ -- Ensure that non-GET requests get redirected correctly. See:+ -- https://github.com/yesodweb/yesod/issues/951+ status+ | W.requestMethod env == "GET" = status301+ | otherwise = status307+ dest = joinPath y (resolveApproot y env) segments' [] dest' = if S.null (W.rawQueryString env)
yesod-core.cabal view
@@ -1,5 +1,5 @@ name: yesod-core-version: 1.4.8.2+version: 1.4.8.3 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>