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 +5/−1
- hworker-ses.cabal +4/−3
- src/System/Hworker/SES.hs +24/−19
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