mailgun 0.1.0.2 → 0.1.0.3
raw patch · 2 files changed
+11/−17 lines, 2 filesdep ~conduitPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: conduit
API changes (from Hackage documentation)
- Rackspace.MailGun: sendMessage :: (Failure HttpException m, MonadThrow m, MonadBaseControl IO m, MonadIO m) => String -> String -> Message -> m (Response ByteString)
+ Rackspace.MailGun: sendMessage :: (MonadIO m, MonadBaseControl IO m, MonadThrow m) => String -> String -> Message -> m (Response ByteString)
- Rackspace.MailGun: sendWith :: (Failure HttpException m, MonadThrow m, MonadBaseControl IO m, MonadIO m) => Manager -> String -> String -> Message -> m (Response ByteString)
+ Rackspace.MailGun: sendWith :: (MonadIO m, MonadBaseControl IO m, MonadThrow m) => Manager -> String -> String -> Message -> m (Response ByteString)
Files
- mailgun.cabal +3/−4
- src/Rackspace/MailGun.hs +8/−13
mailgun.cabal view
@@ -1,5 +1,5 @@ name: mailgun-version: 0.1.0.2+version: 0.1.0.3 synopsis: Connector to Rackspace's Mailgun Service description: Allows users to directly access Rackspace's Mailgun service without having to work with the underlying REST service.@@ -12,14 +12,13 @@ cabal-version: >=1.10 library+ ghc-options: -Wall exposed-modules: Rackspace.MailGun - -- other-modules: - -- other-extensions: hs-source-dirs: src default-language: Haskell2010 build-depends: base >=4.6 && <4.7 , text >=1.1.0.1- , conduit >=1.0.17.1+ , conduit >=1.1.0 , http-conduit >=2.0.0.8 , bytestring >=0.10.0.2 , network >=2.4.2.2
src/Rackspace/MailGun.hs view
@@ -10,18 +10,13 @@ , sendWith ) where -import Control.Failure-import Control.Monad.Catch as C (MonadThrow)+import Control.Monad.Catch import Control.Monad.IO.Class import Control.Monad.Trans.Control-import Data.ByteString.Char8 as BS (ByteString, pack,- putStrLn)-import qualified Data.ByteString.Lazy.Char8 as LBS (ByteString)-import Data.Conduit-import qualified Data.Conduit.List as CL-import Data.Text as T (Text, concat, pack)-import Data.Text.Encoding (encodeUtf8)-import Network (withSocketsDo)+import qualified Data.ByteString.Char8 as BS+import qualified Data.ByteString.Lazy.Char8 as LBS+import Data.Text+import Data.Text.Encoding import Network.HTTP.Client.MultipartFormData import Network.HTTP.Conduit @@ -64,14 +59,14 @@ ++ partMaybeText "subject" (subject msg) ++ buildTail msg -sendMessage :: (Failure HttpException m, C.MonadThrow m, MonadBaseControl IO m, MonadIO m) =>+sendMessage :: (MonadIO m, MonadBaseControl IO m, MonadThrow m) => String -> String -> Message -> m (Response LBS.ByteString) sendMessage domain apiKey message = do withManager $ \manager -> do sendWith manager domain apiKey message -sendWith :: (Failure HttpException m, C.MonadThrow m, MonadBaseControl IO m, MonadIO m) =>- Manager -> String -> String -> Message -> m (Response LBS.ByteString)+sendWith :: (MonadIO m, MonadBaseControl IO m, MonadThrow m) =>+ Manager -> String -> String -> Message -> m (Response LBS.ByteString) sendWith manager domain apiKey message = do initReq <- parseUrl $ baseUrl ++ "/" ++ domain ++ "/messages" let authReq = applyBasicAuth "api" (BS.pack apiKey) initReq