packages feed

snaplet-ses-html 0.1.0.0 → 0.1.1.0

raw patch · 2 files changed

+28/−21 lines, 2 filesdep +adjunctionsdep +lensdep ~basedep ~snapPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: adjunctions, lens

Dependency ranges changed: base, snap

API changes (from Hackage documentation)

- Snap.Snaplet.SES: instance HasAWSKeys (Handler b AWSKeys)
- Snap.Snaplet.SES: instance MonadIO m => HasAWSKeys (ReaderT (Snaplet AWSKeys) m)
- Snap.Snaplet.SES: instance MonadIO m => HasAWSKeys (ReaderT AWSKeys m)
- Snap.Snaplet.SES: instance Show AWSKeys
- Snap.Snaplet.SES: publicKey :: AWSKeys -> PublicKey
- Snap.Snaplet.SES: region :: AWSKeys -> Region
- Snap.Snaplet.SES: secretKey :: AWSKeys -> SecretKey
- Snap.Snaplet.SES: sender :: AWSKeys -> Text
+ Snap.Snaplet.SES: [publicKey] :: AWSKeys -> PublicKey
+ Snap.Snaplet.SES: [region] :: AWSKeys -> Region
+ Snap.Snaplet.SES: [secretKey] :: AWSKeys -> SecretKey
+ Snap.Snaplet.SES: [sender] :: AWSKeys -> Text
+ Snap.Snaplet.SES: instance Control.Monad.IO.Class.MonadIO m => Snap.Snaplet.SES.HasAWSKeys (Control.Monad.Trans.Reader.ReaderT (Snap.Snaplet.Internal.Types.Snaplet Snap.Snaplet.SES.AWSKeys) m)
+ Snap.Snaplet.SES: instance Control.Monad.IO.Class.MonadIO m => Snap.Snaplet.SES.HasAWSKeys (Control.Monad.Trans.Reader.ReaderT Snap.Snaplet.SES.AWSKeys m)
+ Snap.Snaplet.SES: instance GHC.Show.Show Snap.Snaplet.SES.AWSKeys
+ Snap.Snaplet.SES: instance Snap.Snaplet.SES.HasAWSKeys (Snap.Snaplet.Internal.Types.Handler b Snap.Snaplet.SES.AWSKeys)

Files

snaplet-ses-html.cabal view
@@ -1,5 +1,5 @@ name:                snaplet-ses-html-version:             0.1.0.0+version:             0.1.1.0 synopsis:            Snaplet for the ses-html package description:         Send HTML formatted emails using Amazon's SES REST API with blaze license:             BSD3@@ -14,14 +14,16 @@ library   exposed-modules:     Snap.Snaplet.SES   hs-source-dirs:      src-  build-depends:       base >=4.7 && <4.8+  build-depends:       base >=4.7 && <4.9                      , blaze-html                      , bytestring                       , configurator                      , ses-html -                     , snap+                     , snap >= 0.14                      , text                      , transformers+                     , adjunctions+                     , lens   default-language:    Haskell2010  source-repository head
src/Snap/Snaplet/SES.hs view
@@ -13,17 +13,22 @@     , module Network.SES     ) where -import           Control.Monad.Trans.Reader (ReaderT, asks, ask)-import qualified Data.ByteString.Lazy.Char8 as BL8-import qualified Data.Configurator          as C-import           Data.Maybe                 (fromMaybe)-import           Data.Monoid                (mempty)-import           Data.Text                  (Text)-import           Data.Text.Encoding         (encodeUtf8)-import           Network.SES                hiding (sendEmail, sendEmailBlaze)-import qualified Network.SES                as SES+import           Control.Applicative               ((<$>), (<*>))+import           Control.Lens                      ((^#))+import           Control.Monad.IO.Class+import           Control.Monad.Representable.State (get)+import           Control.Monad.Trans.Reader        (ReaderT, ask, asks)+import qualified Data.ByteString.Lazy.Char8        as BL8+import qualified Data.Configurator                 as C+import           Data.Maybe                        (fromMaybe)+import           Data.Monoid                       (mempty)+import           Data.Text                         (Text)+import           Data.Text.Encoding                (encodeUtf8)+import           Network.SES                       hiding (sendEmail,+                                                    sendEmailBlaze)+import qualified Network.SES                       as SES import           Snap-import qualified Text.Blaze.Html5           as H+import qualified Text.Blaze.Html5                  as H  ------------------------------------------------------------------------------ -- | Type to hold AWS Config Information@@ -51,10 +56,10 @@ ------------------------------------------------------------------------------ -- | Helper function for operating on `AWSKeys` inside of `HasAWSKeys` constrained Monads withKeys- :: HasAWSKeys m + :: HasAWSKeys m  => (AWSKeys -> IO a) -- ^ Function operating on Keys- -> m a    -withKeys f = getKeys >>= liftIO . f + -> m a+withKeys f = getKeys >>= liftIO . f  ------------------------------------------------------------------------------ -- | Send Blaze email from a snap handler@@ -105,19 +110,19 @@ -- > {-# LANGUAGE RecordWildCards   #-} -- > {-# LANGUAGE TemplateHaskell   #-} -- > module Main ( main ) where--- >  +-- > -- > import           Control.Lens -- > import qualified Data.ByteString.Char8 as B8 -- > import qualified Data.ByteString.Lazy.Char8 as BL8 -- > import           Snap -- > import           Snap.Snaplet.SES--- >  +-- > -- > data App = App { -- >    _awsKeys :: Snaplet AWSKeys -- > }--- >  +-- > -- > makeLenses ''App--- >  +-- > -- > initApp :: SnapletInit App App -- > initApp = makeSnaplet "name" "description" Nothing $ do -- >             _awsKeys <- nestSnaplet "ses-html" awsKeys initAWSKeys@@ -129,7 +134,7 @@ -- >       result <- with awsKeys $ sendEmail ["david@solidtranslate.com"] "cookie-crisp" "<h1>TEST</h1>" -- >       liftIO $ print result -- >       writeBS "done"--- >  +-- > -- > main :: IO () -- > main = do (_, app, _) <- runSnaplet Nothing initApp -- >           httpServe config app