packages feed

hworker-ses 0.1.0.0 → 0.1.1.0

raw patch · 3 files changed

+33/−23 lines, 3 filesdep +amazonka-coredep ~aesondep ~amazonkadep ~amazonka-ses

Dependencies added: amazonka-core

Dependency ranges changed: aeson, amazonka, amazonka-ses, hworker, lens, text, time, unordered-containers

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+* 0.1.1.0 Daniel Patterson <dbp@dbpmail.net> 2015-10-25++  - Update to amazonka 1.*.+ * 0.1.0.0 Daniel Patterson <dbp@dbpmail.net> 2015-10-25 -  Initial release.+  - Initial release.
hworker-ses.cabal view
@@ -1,5 +1,5 @@ name:                hworker-ses-version:             0.1.0.0+version:             0.1.1.0 synopsis:            Library for sending email with Amazon's SES and hworker description:         See README. homepage:            http://github.com/dbp/hworker-ses@@ -21,8 +21,9 @@                      , time                      , aeson                      , text-                     , amazonka-                     , amazonka-ses+                     , amazonka >= 1+                     , amazonka-core >= 1+                     , amazonka-ses >= 1                      , lens                      , unordered-containers   default-language:    Haskell2010
src/System/Hworker/SES.hs view
@@ -26,7 +26,6 @@ import           Control.Exception       (SomeException, catch) import           Control.Lens            (set) import           Control.Monad           (mzero)-import           Control.Monad.Trans.AWS hiding (page) import           Data.Aeson              (FromJSON (..), ToJSON (..),                                           Value (Object, String), object, (.:),                                           (.=))@@ -36,7 +35,11 @@ import qualified Data.Text               as T import           Data.Time.Clock         (UTCTime, diffUTCTime, getCurrentTime) import           GHC.Generics+import           Network.AWS             (Credentials (Discover),+                                          Region (NorthVirginia), newEnv,+                                          runAWS, runResourceT, send) import           Network.AWS.SES         hiding (Success)+import           Network.AWS.Types       (Error) import           System.Hworker          hiding (create, createWith) import qualified System.Hworker          as Hworker (create, createWith) @@ -83,25 +86,27 @@        if count >= limit           then putMVar recents active >> threadDelay 100000 >> job state j           else do putMVar recents (now : active)-                  awsenv <- getEnv NorthVirginia Discover-                  r <- runAWST awsenv $-                       send (sendEmail source-                                       (set dToAddresses [to]-                                                         destination)-                                       (message (content subj)-                                                (set bHtml-                                                     (content <$> bhtml) $-                                                 set bText-                                                     (content <$> btxt)-                                                     body)))+                  awsenv <- newEnv NorthVirginia Discover+                  r <- catch (runResourceT $ runAWS awsenv $+                       do send (sendEmail source+                                          (set dToAddresses [to]+                                                            destination)+                                          (message (content subj)+                                                   (set bHTML+                                                        (content <$> bhtml) $+                                                    set bText+                                                        (content <$> btxt)+                                                        body)))+                          return Success)+                          (\(err::Error) ->+                             do log err+                                return (Failure (T.pack (show err))))                   case r of-                    Left err ->-                      do log err-                         return (Failure (T.pack (show err)))-                    Right _ -> do catch (after j)-                                        (\(e::SomeException) ->-                                           log ("hworker-ses callback raised exception: " <> show e))-                                  return Success+                    Success -> catch (after j)+                                     (\(e::SomeException) ->+                                       log ("hworker-ses callback raised exception: " <> show e))+                    _ -> return ()+                  return r  data SESConfig a =      SESConfig { sesconfigName             :: Text