From 4a0caeb05c9abd46fedafa4cce74bb1e6a366a17 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Fri, 8 Jul 2016 13:38:39 -0500 Subject: [PATCH 1/2] deleting cookie before adding to avoid duplicates for a test --- yesod-core/Yesod/Core/Handler.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/yesod-core/Yesod/Core/Handler.hs b/yesod-core/Yesod/Core/Handler.hs index 29948be0..74f8e08f 100644 --- a/yesod-core/Yesod/Core/Handler.hs +++ b/yesod-core/Yesod/Core/Handler.hs @@ -724,7 +724,11 @@ invalidArgsI msg = do -- | Set the cookie on the client. setCookie :: MonadHandler m => SetCookie -> m () -setCookie = addHeaderInternal . AddCookie +setCookie sc = do + addHeaderInternal (DeleteCookie name value) + addHeaderInternal (AddCookie sc) + where name = setCookieName sc + value = setCookieValue sc -- | Helper function for setCookieExpires value getExpires :: MonadIO m From 5e4cefc9ad3880258d9685849dea1f9ea0daf768 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Fri, 8 Jul 2016 14:25:47 -0500 Subject: [PATCH 2/2] path, not value --- yesod-core/Yesod/Core/Handler.hs | 4 ++-- yesod-core/Yesod/Core/Types.hs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/yesod-core/Yesod/Core/Handler.hs b/yesod-core/Yesod/Core/Handler.hs index 74f8e08f..c76dc965 100644 --- a/yesod-core/Yesod/Core/Handler.hs +++ b/yesod-core/Yesod/Core/Handler.hs @@ -725,10 +725,10 @@ invalidArgsI msg = do setCookie :: MonadHandler m => SetCookie -> m () setCookie sc = do - addHeaderInternal (DeleteCookie name value) + addHeaderInternal (DeleteCookie name path) addHeaderInternal (AddCookie sc) where name = setCookieName sc - value = setCookieValue sc + path = maybe "/" id (setCookiePath sc) -- | Helper function for setCookieExpires value getExpires :: MonadIO m diff --git a/yesod-core/Yesod/Core/Types.hs b/yesod-core/Yesod/Core/Types.hs index f364f44a..4128cc7b 100644 --- a/yesod-core/Yesod/Core/Types.hs +++ b/yesod-core/Yesod/Core/Types.hs @@ -323,7 +323,7 @@ instance NFData ErrorResponse where ----- header stuff -- | Headers to be added to a 'Result'. data Header = - AddCookie SetCookie + AddCookie SetCookie | DeleteCookie ByteString ByteString | Header ByteString ByteString deriving (Eq, Show)