{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.AppStream.CreateImageBuilderStreamingURL
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Creates a URL to start an image builder streaming session.
module Amazonka.AppStream.CreateImageBuilderStreamingURL
  ( -- * Creating a Request
    CreateImageBuilderStreamingURL (..),
    newCreateImageBuilderStreamingURL,

    -- * Request Lenses
    createImageBuilderStreamingURL_validity,
    createImageBuilderStreamingURL_name,

    -- * Destructuring the Response
    CreateImageBuilderStreamingURLResponse (..),
    newCreateImageBuilderStreamingURLResponse,

    -- * Response Lenses
    createImageBuilderStreamingURLResponse_expires,
    createImageBuilderStreamingURLResponse_streamingURL,
    createImageBuilderStreamingURLResponse_httpStatus,
  )
where

import Amazonka.AppStream.Types
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

-- | /See:/ 'newCreateImageBuilderStreamingURL' smart constructor.
data CreateImageBuilderStreamingURL = CreateImageBuilderStreamingURL'
  { -- | The time that the streaming URL will be valid, in seconds. Specify a
    -- value between 1 and 604800 seconds. The default is 3600 seconds.
    CreateImageBuilderStreamingURL -> Maybe Integer
validity :: Prelude.Maybe Prelude.Integer,
    -- | The name of the image builder.
    CreateImageBuilderStreamingURL -> Text
name :: Prelude.Text
  }
  deriving (CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
$c/= :: CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
== :: CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
$c== :: CreateImageBuilderStreamingURL
-> CreateImageBuilderStreamingURL -> Bool
Prelude.Eq, ReadPrec [CreateImageBuilderStreamingURL]
ReadPrec CreateImageBuilderStreamingURL
Int -> ReadS CreateImageBuilderStreamingURL
ReadS [CreateImageBuilderStreamingURL]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateImageBuilderStreamingURL]
$creadListPrec :: ReadPrec [CreateImageBuilderStreamingURL]
readPrec :: ReadPrec CreateImageBuilderStreamingURL
$creadPrec :: ReadPrec CreateImageBuilderStreamingURL
readList :: ReadS [CreateImageBuilderStreamingURL]
$creadList :: ReadS [CreateImageBuilderStreamingURL]
readsPrec :: Int -> ReadS CreateImageBuilderStreamingURL
$creadsPrec :: Int -> ReadS CreateImageBuilderStreamingURL
Prelude.Read, Int -> CreateImageBuilderStreamingURL -> ShowS
[CreateImageBuilderStreamingURL] -> ShowS
CreateImageBuilderStreamingURL -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateImageBuilderStreamingURL] -> ShowS
$cshowList :: [CreateImageBuilderStreamingURL] -> ShowS
show :: CreateImageBuilderStreamingURL -> String
$cshow :: CreateImageBuilderStreamingURL -> String
showsPrec :: Int -> CreateImageBuilderStreamingURL -> ShowS
$cshowsPrec :: Int -> CreateImageBuilderStreamingURL -> ShowS
Prelude.Show, forall x.
Rep CreateImageBuilderStreamingURL x
-> CreateImageBuilderStreamingURL
forall x.
CreateImageBuilderStreamingURL
-> Rep CreateImageBuilderStreamingURL x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateImageBuilderStreamingURL x
-> CreateImageBuilderStreamingURL
$cfrom :: forall x.
CreateImageBuilderStreamingURL
-> Rep CreateImageBuilderStreamingURL x
Prelude.Generic)

-- |
-- Create a value of 'CreateImageBuilderStreamingURL' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'validity', 'createImageBuilderStreamingURL_validity' - The time that the streaming URL will be valid, in seconds. Specify a
-- value between 1 and 604800 seconds. The default is 3600 seconds.
--
-- 'name', 'createImageBuilderStreamingURL_name' - The name of the image builder.
newCreateImageBuilderStreamingURL ::
  -- | 'name'
  Prelude.Text ->
  CreateImageBuilderStreamingURL
newCreateImageBuilderStreamingURL :: Text -> CreateImageBuilderStreamingURL
newCreateImageBuilderStreamingURL Text
pName_ =
  CreateImageBuilderStreamingURL'
    { $sel:validity:CreateImageBuilderStreamingURL' :: Maybe Integer
validity =
        forall a. Maybe a
Prelude.Nothing,
      $sel:name:CreateImageBuilderStreamingURL' :: Text
name = Text
pName_
    }

-- | The time that the streaming URL will be valid, in seconds. Specify a
-- value between 1 and 604800 seconds. The default is 3600 seconds.
createImageBuilderStreamingURL_validity :: Lens.Lens' CreateImageBuilderStreamingURL (Prelude.Maybe Prelude.Integer)
createImageBuilderStreamingURL_validity :: Lens' CreateImageBuilderStreamingURL (Maybe Integer)
createImageBuilderStreamingURL_validity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURL' {Maybe Integer
validity :: Maybe Integer
$sel:validity:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Maybe Integer
validity} -> Maybe Integer
validity) (\s :: CreateImageBuilderStreamingURL
s@CreateImageBuilderStreamingURL' {} Maybe Integer
a -> CreateImageBuilderStreamingURL
s {$sel:validity:CreateImageBuilderStreamingURL' :: Maybe Integer
validity = Maybe Integer
a} :: CreateImageBuilderStreamingURL)

-- | The name of the image builder.
createImageBuilderStreamingURL_name :: Lens.Lens' CreateImageBuilderStreamingURL Prelude.Text
createImageBuilderStreamingURL_name :: Lens' CreateImageBuilderStreamingURL Text
createImageBuilderStreamingURL_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURL' {Text
name :: Text
$sel:name:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Text
name} -> Text
name) (\s :: CreateImageBuilderStreamingURL
s@CreateImageBuilderStreamingURL' {} Text
a -> CreateImageBuilderStreamingURL
s {$sel:name:CreateImageBuilderStreamingURL' :: Text
name = Text
a} :: CreateImageBuilderStreamingURL)

instance
  Core.AWSRequest
    CreateImageBuilderStreamingURL
  where
  type
    AWSResponse CreateImageBuilderStreamingURL =
      CreateImageBuilderStreamingURLResponse
  request :: (Service -> Service)
-> CreateImageBuilderStreamingURL
-> Request CreateImageBuilderStreamingURL
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateImageBuilderStreamingURL
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse CreateImageBuilderStreamingURL)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe POSIX
-> Maybe Text -> Int -> CreateImageBuilderStreamingURLResponse
CreateImageBuilderStreamingURLResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Expires")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"StreamingURL")
            forall (f :: * -> *) a b. Applicative f => 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))
      )

instance
  Prelude.Hashable
    CreateImageBuilderStreamingURL
  where
  hashWithSalt :: Int -> CreateImageBuilderStreamingURL -> Int
hashWithSalt
    Int
_salt
    CreateImageBuilderStreamingURL' {Maybe Integer
Text
name :: Text
validity :: Maybe Integer
$sel:name:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Text
$sel:validity:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Maybe Integer
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
validity
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name

instance
  Prelude.NFData
    CreateImageBuilderStreamingURL
  where
  rnf :: CreateImageBuilderStreamingURL -> ()
rnf CreateImageBuilderStreamingURL' {Maybe Integer
Text
name :: Text
validity :: Maybe Integer
$sel:name:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Text
$sel:validity:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Maybe Integer
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
validity seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name

instance
  Data.ToHeaders
    CreateImageBuilderStreamingURL
  where
  toHeaders :: CreateImageBuilderStreamingURL -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"PhotonAdminProxyService.CreateImageBuilderStreamingURL" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON CreateImageBuilderStreamingURL where
  toJSON :: CreateImageBuilderStreamingURL -> Value
toJSON CreateImageBuilderStreamingURL' {Maybe Integer
Text
name :: Text
validity :: Maybe Integer
$sel:name:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Text
$sel:validity:CreateImageBuilderStreamingURL' :: CreateImageBuilderStreamingURL -> Maybe Integer
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Validity" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Integer
validity,
            forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name)
          ]
      )

instance Data.ToPath CreateImageBuilderStreamingURL where
  toPath :: CreateImageBuilderStreamingURL -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery CreateImageBuilderStreamingURL where
  toQuery :: CreateImageBuilderStreamingURL -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newCreateImageBuilderStreamingURLResponse' smart constructor.
data CreateImageBuilderStreamingURLResponse = CreateImageBuilderStreamingURLResponse'
  { -- | The elapsed time, in seconds after the Unix epoch, when this URL
    -- expires.
    CreateImageBuilderStreamingURLResponse -> Maybe POSIX
expires :: Prelude.Maybe Data.POSIX,
    -- | The URL to start the AppStream 2.0 streaming session.
    CreateImageBuilderStreamingURLResponse -> Maybe Text
streamingURL :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    CreateImageBuilderStreamingURLResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
$c/= :: CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
== :: CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
$c== :: CreateImageBuilderStreamingURLResponse
-> CreateImageBuilderStreamingURLResponse -> Bool
Prelude.Eq, ReadPrec [CreateImageBuilderStreamingURLResponse]
ReadPrec CreateImageBuilderStreamingURLResponse
Int -> ReadS CreateImageBuilderStreamingURLResponse
ReadS [CreateImageBuilderStreamingURLResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateImageBuilderStreamingURLResponse]
$creadListPrec :: ReadPrec [CreateImageBuilderStreamingURLResponse]
readPrec :: ReadPrec CreateImageBuilderStreamingURLResponse
$creadPrec :: ReadPrec CreateImageBuilderStreamingURLResponse
readList :: ReadS [CreateImageBuilderStreamingURLResponse]
$creadList :: ReadS [CreateImageBuilderStreamingURLResponse]
readsPrec :: Int -> ReadS CreateImageBuilderStreamingURLResponse
$creadsPrec :: Int -> ReadS CreateImageBuilderStreamingURLResponse
Prelude.Read, Int -> CreateImageBuilderStreamingURLResponse -> ShowS
[CreateImageBuilderStreamingURLResponse] -> ShowS
CreateImageBuilderStreamingURLResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateImageBuilderStreamingURLResponse] -> ShowS
$cshowList :: [CreateImageBuilderStreamingURLResponse] -> ShowS
show :: CreateImageBuilderStreamingURLResponse -> String
$cshow :: CreateImageBuilderStreamingURLResponse -> String
showsPrec :: Int -> CreateImageBuilderStreamingURLResponse -> ShowS
$cshowsPrec :: Int -> CreateImageBuilderStreamingURLResponse -> ShowS
Prelude.Show, forall x.
Rep CreateImageBuilderStreamingURLResponse x
-> CreateImageBuilderStreamingURLResponse
forall x.
CreateImageBuilderStreamingURLResponse
-> Rep CreateImageBuilderStreamingURLResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateImageBuilderStreamingURLResponse x
-> CreateImageBuilderStreamingURLResponse
$cfrom :: forall x.
CreateImageBuilderStreamingURLResponse
-> Rep CreateImageBuilderStreamingURLResponse x
Prelude.Generic)

-- |
-- Create a value of 'CreateImageBuilderStreamingURLResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'expires', 'createImageBuilderStreamingURLResponse_expires' - The elapsed time, in seconds after the Unix epoch, when this URL
-- expires.
--
-- 'streamingURL', 'createImageBuilderStreamingURLResponse_streamingURL' - The URL to start the AppStream 2.0 streaming session.
--
-- 'httpStatus', 'createImageBuilderStreamingURLResponse_httpStatus' - The response's http status code.
newCreateImageBuilderStreamingURLResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  CreateImageBuilderStreamingURLResponse
newCreateImageBuilderStreamingURLResponse :: Int -> CreateImageBuilderStreamingURLResponse
newCreateImageBuilderStreamingURLResponse
  Int
pHttpStatus_ =
    CreateImageBuilderStreamingURLResponse'
      { $sel:expires:CreateImageBuilderStreamingURLResponse' :: Maybe POSIX
expires =
          forall a. Maybe a
Prelude.Nothing,
        $sel:streamingURL:CreateImageBuilderStreamingURLResponse' :: Maybe Text
streamingURL = forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:CreateImageBuilderStreamingURLResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The elapsed time, in seconds after the Unix epoch, when this URL
-- expires.
createImageBuilderStreamingURLResponse_expires :: Lens.Lens' CreateImageBuilderStreamingURLResponse (Prelude.Maybe Prelude.UTCTime)
createImageBuilderStreamingURLResponse_expires :: Lens' CreateImageBuilderStreamingURLResponse (Maybe UTCTime)
createImageBuilderStreamingURLResponse_expires = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURLResponse' {Maybe POSIX
expires :: Maybe POSIX
$sel:expires:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Maybe POSIX
expires} -> Maybe POSIX
expires) (\s :: CreateImageBuilderStreamingURLResponse
s@CreateImageBuilderStreamingURLResponse' {} Maybe POSIX
a -> CreateImageBuilderStreamingURLResponse
s {$sel:expires:CreateImageBuilderStreamingURLResponse' :: Maybe POSIX
expires = Maybe POSIX
a} :: CreateImageBuilderStreamingURLResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The URL to start the AppStream 2.0 streaming session.
createImageBuilderStreamingURLResponse_streamingURL :: Lens.Lens' CreateImageBuilderStreamingURLResponse (Prelude.Maybe Prelude.Text)
createImageBuilderStreamingURLResponse_streamingURL :: Lens' CreateImageBuilderStreamingURLResponse (Maybe Text)
createImageBuilderStreamingURLResponse_streamingURL = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURLResponse' {Maybe Text
streamingURL :: Maybe Text
$sel:streamingURL:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Maybe Text
streamingURL} -> Maybe Text
streamingURL) (\s :: CreateImageBuilderStreamingURLResponse
s@CreateImageBuilderStreamingURLResponse' {} Maybe Text
a -> CreateImageBuilderStreamingURLResponse
s {$sel:streamingURL:CreateImageBuilderStreamingURLResponse' :: Maybe Text
streamingURL = Maybe Text
a} :: CreateImageBuilderStreamingURLResponse)

-- | The response's http status code.
createImageBuilderStreamingURLResponse_httpStatus :: Lens.Lens' CreateImageBuilderStreamingURLResponse Prelude.Int
createImageBuilderStreamingURLResponse_httpStatus :: Lens' CreateImageBuilderStreamingURLResponse Int
createImageBuilderStreamingURLResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateImageBuilderStreamingURLResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateImageBuilderStreamingURLResponse
s@CreateImageBuilderStreamingURLResponse' {} Int
a -> CreateImageBuilderStreamingURLResponse
s {$sel:httpStatus:CreateImageBuilderStreamingURLResponse' :: Int
httpStatus = Int
a} :: CreateImageBuilderStreamingURLResponse)

instance
  Prelude.NFData
    CreateImageBuilderStreamingURLResponse
  where
  rnf :: CreateImageBuilderStreamingURLResponse -> ()
rnf CreateImageBuilderStreamingURLResponse' {Int
Maybe Text
Maybe POSIX
httpStatus :: Int
streamingURL :: Maybe Text
expires :: Maybe POSIX
$sel:httpStatus:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Int
$sel:streamingURL:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Maybe Text
$sel:expires:CreateImageBuilderStreamingURLResponse' :: CreateImageBuilderStreamingURLResponse -> Maybe POSIX
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
expires
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
streamingURL
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus