{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.WorkMailMessageFlow.GetRawMessageContent
(
GetRawMessageContent (..),
newGetRawMessageContent,
getRawMessageContent_messageId,
GetRawMessageContentResponse (..),
newGetRawMessageContentResponse,
getRawMessageContentResponse_httpStatus,
getRawMessageContentResponse_messageContent,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.WorkMailMessageFlow.Types
data GetRawMessageContent = GetRawMessageContent'
{
GetRawMessageContent -> Text
messageId :: Prelude.Text
}
deriving (GetRawMessageContent -> GetRawMessageContent -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetRawMessageContent -> GetRawMessageContent -> Bool
$c/= :: GetRawMessageContent -> GetRawMessageContent -> Bool
== :: GetRawMessageContent -> GetRawMessageContent -> Bool
$c== :: GetRawMessageContent -> GetRawMessageContent -> Bool
Prelude.Eq, ReadPrec [GetRawMessageContent]
ReadPrec GetRawMessageContent
Int -> ReadS GetRawMessageContent
ReadS [GetRawMessageContent]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetRawMessageContent]
$creadListPrec :: ReadPrec [GetRawMessageContent]
readPrec :: ReadPrec GetRawMessageContent
$creadPrec :: ReadPrec GetRawMessageContent
readList :: ReadS [GetRawMessageContent]
$creadList :: ReadS [GetRawMessageContent]
readsPrec :: Int -> ReadS GetRawMessageContent
$creadsPrec :: Int -> ReadS GetRawMessageContent
Prelude.Read, Int -> GetRawMessageContent -> ShowS
[GetRawMessageContent] -> ShowS
GetRawMessageContent -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRawMessageContent] -> ShowS
$cshowList :: [GetRawMessageContent] -> ShowS
show :: GetRawMessageContent -> String
$cshow :: GetRawMessageContent -> String
showsPrec :: Int -> GetRawMessageContent -> ShowS
$cshowsPrec :: Int -> GetRawMessageContent -> ShowS
Prelude.Show, forall x. Rep GetRawMessageContent x -> GetRawMessageContent
forall x. GetRawMessageContent -> Rep GetRawMessageContent x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetRawMessageContent x -> GetRawMessageContent
$cfrom :: forall x. GetRawMessageContent -> Rep GetRawMessageContent x
Prelude.Generic)
newGetRawMessageContent ::
Prelude.Text ->
GetRawMessageContent
newGetRawMessageContent :: Text -> GetRawMessageContent
newGetRawMessageContent Text
pMessageId_ =
GetRawMessageContent' {$sel:messageId:GetRawMessageContent' :: Text
messageId = Text
pMessageId_}
getRawMessageContent_messageId :: Lens.Lens' GetRawMessageContent Prelude.Text
getRawMessageContent_messageId :: Lens' GetRawMessageContent Text
getRawMessageContent_messageId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRawMessageContent' {Text
messageId :: Text
$sel:messageId:GetRawMessageContent' :: GetRawMessageContent -> Text
messageId} -> Text
messageId) (\s :: GetRawMessageContent
s@GetRawMessageContent' {} Text
a -> GetRawMessageContent
s {$sel:messageId:GetRawMessageContent' :: Text
messageId = Text
a} :: GetRawMessageContent)
instance Core.AWSRequest GetRawMessageContent where
type
AWSResponse GetRawMessageContent =
GetRawMessageContentResponse
request :: (Service -> Service)
-> GetRawMessageContent -> Request GetRawMessageContent
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetRawMessageContent
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetRawMessageContent)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int
-> ResponseHeaders
-> ResponseBody
-> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveBody
( \Int
s ResponseHeaders
h ResponseBody
x ->
Int -> ResponseBody -> GetRawMessageContentResponse
GetRawMessageContentResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure ResponseBody
x)
)
instance Prelude.Hashable GetRawMessageContent where
hashWithSalt :: Int -> GetRawMessageContent -> Int
hashWithSalt Int
_salt GetRawMessageContent' {Text
messageId :: Text
$sel:messageId:GetRawMessageContent' :: GetRawMessageContent -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
messageId
instance Prelude.NFData GetRawMessageContent where
rnf :: GetRawMessageContent -> ()
rnf GetRawMessageContent' {Text
messageId :: Text
$sel:messageId:GetRawMessageContent' :: GetRawMessageContent -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
messageId
instance Data.ToHeaders GetRawMessageContent where
toHeaders :: GetRawMessageContent -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath GetRawMessageContent where
toPath :: GetRawMessageContent -> ByteString
toPath GetRawMessageContent' {Text
messageId :: Text
$sel:messageId:GetRawMessageContent' :: GetRawMessageContent -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/messages/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
messageId]
instance Data.ToQuery GetRawMessageContent where
toQuery :: GetRawMessageContent -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetRawMessageContentResponse = GetRawMessageContentResponse'
{
GetRawMessageContentResponse -> Int
httpStatus :: Prelude.Int,
GetRawMessageContentResponse -> ResponseBody
messageContent :: Data.ResponseBody
}
deriving (Int -> GetRawMessageContentResponse -> ShowS
[GetRawMessageContentResponse] -> ShowS
GetRawMessageContentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRawMessageContentResponse] -> ShowS
$cshowList :: [GetRawMessageContentResponse] -> ShowS
show :: GetRawMessageContentResponse -> String
$cshow :: GetRawMessageContentResponse -> String
showsPrec :: Int -> GetRawMessageContentResponse -> ShowS
$cshowsPrec :: Int -> GetRawMessageContentResponse -> ShowS
Prelude.Show, forall x.
Rep GetRawMessageContentResponse x -> GetRawMessageContentResponse
forall x.
GetRawMessageContentResponse -> Rep GetRawMessageContentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetRawMessageContentResponse x -> GetRawMessageContentResponse
$cfrom :: forall x.
GetRawMessageContentResponse -> Rep GetRawMessageContentResponse x
Prelude.Generic)
newGetRawMessageContentResponse ::
Prelude.Int ->
Data.ResponseBody ->
GetRawMessageContentResponse
newGetRawMessageContentResponse :: Int -> ResponseBody -> GetRawMessageContentResponse
newGetRawMessageContentResponse
Int
pHttpStatus_
ResponseBody
pMessageContent_ =
GetRawMessageContentResponse'
{ $sel:httpStatus:GetRawMessageContentResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:messageContent:GetRawMessageContentResponse' :: ResponseBody
messageContent = ResponseBody
pMessageContent_
}
getRawMessageContentResponse_httpStatus :: Lens.Lens' GetRawMessageContentResponse Prelude.Int
getRawMessageContentResponse_httpStatus :: Lens' GetRawMessageContentResponse Int
getRawMessageContentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRawMessageContentResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetRawMessageContentResponse' :: GetRawMessageContentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetRawMessageContentResponse
s@GetRawMessageContentResponse' {} Int
a -> GetRawMessageContentResponse
s {$sel:httpStatus:GetRawMessageContentResponse' :: Int
httpStatus = Int
a} :: GetRawMessageContentResponse)
getRawMessageContentResponse_messageContent :: Lens.Lens' GetRawMessageContentResponse Data.ResponseBody
getRawMessageContentResponse_messageContent :: Lens' GetRawMessageContentResponse ResponseBody
getRawMessageContentResponse_messageContent = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRawMessageContentResponse' {ResponseBody
messageContent :: ResponseBody
$sel:messageContent:GetRawMessageContentResponse' :: GetRawMessageContentResponse -> ResponseBody
messageContent} -> ResponseBody
messageContent) (\s :: GetRawMessageContentResponse
s@GetRawMessageContentResponse' {} ResponseBody
a -> GetRawMessageContentResponse
s {$sel:messageContent:GetRawMessageContentResponse' :: ResponseBody
messageContent = ResponseBody
a} :: GetRawMessageContentResponse)