-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Send mime-mail messages via Amazon SES
--   
--   Hackage documentation generation is not reliable. For up to date
--   documentation, please see:
--   http://www.stackage.org/package/mime-mail-ses.
@package mime-mail-ses
@version 0.4.3

module Network.Mail.Mime.SES.Internal

-- | Create a canonical request according to
--   https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html.
makeCanonicalRequest :: ByteString -> ByteString -> ByteString -> [(CI ByteString, ByteString)] -> ByteString -> ByteString
canonicalizeRequest :: Request -> ByteString

-- | Create a string to sign according to
--   https://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html.
makeStringToSign :: ByteString -> UTCTime -> ByteString -> ByteString -> ByteString

-- | Create a signature according to
--   https://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html.
makeSig :: ByteString -> UTCTime -> ByteString -> ByteString -> ByteString -> ByteString

-- | Create an authorization string according to
--   https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html.
makeAuthorizationString :: ByteString -> UTCTime -> ByteString -> [(CI ByteString, ByteString)] -> ByteString -> ByteString -> ByteString
formatAmazonTime :: UTCTime -> ByteString
formatAmazonDate :: UTCTime -> ByteString
buildRequest :: String -> IO Request
requestBodyAsByteString :: Request -> ByteString
requestBodyLength :: Request -> Int
makeListOfHeaders :: [(CI ByteString, ByteString)] -> ByteString
patchedRequestHeaders :: Request -> [(CI ByteString, ByteString)]
makeCredentialScope :: ByteString -> UTCTime -> ByteString -> ByteString
bytesToLowerCase :: ByteString -> ByteString
unaryHashBase16 :: ByteString -> ByteString
keyedHash :: ByteString -> ByteString -> ByteString

module Network.Mail.Mime.SES
sendMailSES :: MonadIO m => Manager -> SES -> ByteString -> m ()

-- | Generalised version of sendMailSES which allows customising the
--   final return type.
sendMailSESWithResponse :: MonadIO m => Manager -> SES -> ByteString -> (Status -> Sink Event IO a) -> m a

-- | Same as sendMailSES but uses the global Manager.
sendMailSESGlobal :: MonadIO m => SES -> ByteString -> m ()
renderSendMailSES :: MonadIO m => Manager -> SES -> Mail -> m ()

-- | Same as renderSendMailSES but uses the global Manager.
renderSendMailSESGlobal :: MonadIO m => SES -> Mail -> m ()
data SES
SES :: !ByteString -> ![ByteString] -> !ByteString -> !ByteString -> !Maybe ByteString -> !Text -> SES
[sesFrom] :: SES -> !ByteString
[sesTo] :: SES -> ![ByteString]
[sesAccessKey] :: SES -> !ByteString
[sesSecretKey] :: SES -> !ByteString
[sesSessionToken] :: SES -> !Maybe ByteString
[sesRegion] :: SES -> !Text
usEast1 :: Text
usWest2 :: Text
euWest1 :: Text

-- | Exposed since: 0.3.2
data SESException
SESException :: !Status -> !Text -> !Text -> !Text -> SESException
[seStatus] :: SESException -> !Status
[seCode] :: SESException -> !Text
[seMessage] :: SESException -> !Text
[seRequestId] :: SESException -> !Text
instance GHC.Show.Show Network.Mail.Mime.SES.SES
instance GHC.Show.Show Network.Mail.Mime.SES.SESException
instance GHC.Exception.Type.Exception Network.Mail.Mime.SES.SESException
