packages feed

apiary-cookie 0.17.0 → 1.0.0

raw patch · 2 files changed

+16/−15 lines, 2 filesdep ~apiary

Dependency ranges changed: apiary

Files

apiary-cookie.cabal view
@@ -1,5 +1,5 @@ name:                apiary-cookie-version:             0.17.0+version:             1.0.0 synopsis:            Cookie support for apiary web framework. description:   example: <https://github.com/philopon/apiary/blob/master/examples/auth.hs>@@ -19,7 +19,7 @@ library   exposed-modules:     Web.Apiary.Cookie   build-depends:       base               >=4.6  && <4.8-                     , apiary             >=0.16 && <0.18+                     , apiary             >=1.0  && <1.1                       , bytestring         >=0.10 && <0.11                      , cookie             >=0.4  && <0.5
src/Web/Apiary/Cookie.hs view
@@ -6,10 +6,10 @@ {-# LANGUAGE LambdaCase #-} {-# LANGUAGE ImplicitParams #-} {-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE TypeFamilies #-}  module Web.Apiary.Cookie -    ( -    -- * setter+    ( -- * setter       setCookie     , deleteCookie     -- * filter@@ -25,16 +25,17 @@ import Web.Cookie (SetCookie(..)) import qualified Web.Cookie as Cookie -import Control.Monad.Apiary.Filter.Internal-import Control.Monad.Apiary.Filter.Internal.Strategy+import Data.Apiary.Param+import Control.Monad.Apiary.Filter  import Data.Maybe import Data.Time import Data.Monoid-import Data.Apiary.Document+import Data.Apiary.Compat import Blaze.ByteString.Builder import Text.Blaze.Html import qualified Data.ByteString as S+import qualified Data.ByteString.Char8 as SC  cond :: (a -> Bool) -> (a -> b) -> (a -> b) -> a -> b cond p t f a = if p a then t a else f a@@ -51,13 +52,13 @@ -- cookie "baz" (pMany (pMaybe pString))  -- get zero or more baz cookies. allows cookie decrypt failure. -- cookie "baz" (Proxy :: Proxy (LimitSome [int|100|] ByteString)) -- get raw cookies up to 100 entries. -- @-cookie :: (Strategy w, Query p, Monad actM)-       => S.ByteString-       -> w p-       -> ApiaryT exts (SNext w prms p) actM m ()+cookie :: (Strategy w, Monad actM, NotMember k prms, KnownSymbol k)+       => proxy k+       -> w S.ByteString+       -> ApiaryT exts (SNext w k S.ByteString prms) actM m ()        -> ApiaryT exts prms actM m ()-cookie k p = function (DocPrecondition $ toHtml (show k) <> " cookie required") $ \l r ->-    readStrategy (readQuery . Just) ((k ==) . fst) p (cookie' r) l+cookie k p = function (DocPrecondition $ toHtml (symbolVal k) <> " cookie required") $ \l r ->+    strategy p k (map (Just . snd) . filter ((SC.pack (symbolVal k) ==) . fst) $ cookie' r) l  cookie' :: Request -> [(S.ByteString, S.ByteString)] cookie' = @@ -66,13 +67,13 @@     requestHeaders  -- | delete cookie. since 0.6.1.0.-deleteCookie :: Monad m => S.ByteString -> ActionT exts m ()+deleteCookie :: Monad m => S.ByteString -> ActionT exts prms m () deleteCookie k = setCookie def { setCookieName    = k                                 , setCookieExpires = Just $ UTCTime (ModifiedJulianDay 0) 0                                , setCookieMaxAge  = Just 0                                }  -- | set raw cookie header.-setCookie :: Monad m => SetCookie -> ActionT exts m ()+setCookie :: Monad m => SetCookie -> ActionT exts prms m () setCookie =     addHeader "set-cookie" . toByteString . Cookie.renderSetCookie