wheb-strapped 0.0.2.0 → 0.1.0.0
raw patch · 2 files changed
+20/−8 lines, 2 filesdep ~StrappedTemplatesPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: StrappedTemplates
API changes (from Hackage documentation)
- Web.Wheb.Plugins.Strapped: StrappedContainer :: RenderConfig -> InputBucket m -> StrappedContainer m
+ Web.Wheb.Plugins.Strapped: StrappedContainer :: StrappedConfig -> InputBucket m -> StrappedContainer m
- Web.Wheb.Plugins.Strapped: initStrapped :: MonadIO m => FilePath -> String -> InitM g s m (StrappedContainer (WhebT g s m))
+ Web.Wheb.Plugins.Strapped: initStrapped :: MonadIO m => StrappedConfig -> FilePath -> String -> InitM g s m (StrappedContainer (WhebT g s m))
- Web.Wheb.Plugins.Strapped: renderconfig :: StrappedContainer m -> RenderConfig
+ Web.Wheb.Plugins.Strapped: renderconfig :: StrappedContainer m -> StrappedConfig
Files
- Web/Wheb/Plugins/Strapped.hs +18/−6
- wheb-strapped.cabal +2/−2
Web/Wheb/Plugins/Strapped.hs view
@@ -13,13 +13,17 @@ import Control.Monad.Except-import qualified Data.Text.Lazy as T+ import Web.Wheb+import Web.Wheb.Plugins.Security import Text.Strapped+import Data.Text.Lazy as T+import Data.Text as TS + data StrappedContainer m = StrappedContainer - { renderconfig :: RenderConfig + { renderconfig :: StrappedConfig , defaultBucket :: InputBucket m } @@ -27,13 +31,21 @@ getStrappedContainer :: g -> StrappedContainer m -- | Load Strapped from a directory matching the extention-initStrapped :: MonadIO m => FilePath -> String -> InitM g s m (StrappedContainer (WhebT g s m))-initStrapped fp s = do- mtmpls <- liftIO $ templateStoreFromDirectory fp s+initStrapped :: MonadIO m => StrappedConfig -> FilePath -> String -> InitM g s m (StrappedContainer (WhebT g s m))+initStrapped config fp s = do+ mtmpls <- liftIO $ templateStoreFromDirectory config fp s case mtmpls of Left err -> error (show err)- Right tmpls -> return $ StrappedContainer (defaultConfig { templateStore = tmpls }) []+ Right tmpls -> return $ StrappedContainer (config { templateStore = tmpls }) csrf_bucket + where csrf_bucket = bucketFromList [ ("csrf_token", Func $ \_ -> lift $ liftM LitText getCSRFToken)+ , ("csrf_input", Func $ \_ -> lift $ do + tok <- getCSRFToken+ return $ LitText $ + "<input type=\"hidden\" name=\"csrf-token\" value=\"" `TS.append` tok `TS.append` "\">")+ , ("csrf_meta", Func $ \_ -> lift $ do + tok <- getCSRFToken+ return $ LitText $ "<meta name=\"csrf-token\" content=\"" `TS.append` tok `TS.append` "\">")] -- | Render a template or throw an error renderTemplate :: (MonadIO m, StrappedApp g (WhebT g s m)) => String -> InputBucket (WhebT g s m) -> WhebHandlerT g s m renderTemplate tName bucket = do
wheb-strapped.cabal view
@@ -10,7 +10,7 @@ -- PVP summary: +-+------- breaking API changes -- | | +----- non-breaking API additions -- | | | +--- code changes with no API change-version: 0.0.2.0+version: 0.1.0.0 -- A short (one-line) description of the package. synopsis: Strapped templates for Wheb@@ -91,7 +91,7 @@ other-extensions: OverloadedStrings, FlexibleContexts, MultiParamTypeClasses -- Other library packages from which modules are imported.- build-depends: base >=4.7 && <4.8, mtl >=2.2 && <2.3, Wheb >=0.3 && <0.4, StrappedTemplates >=0.1 && <0.2, text >=1.1 && <1.2+ build-depends: base >=4.7 && <4.8, mtl >=2.2 && <2.3, Wheb >=0.3 && <0.4, StrappedTemplates >=0.2 && <0.3, text >=1.1 && <1.2 -- Directories containing source files. -- hs-source-dirs: