{-# 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.CognitoIdentityProvider.AdminConfirmSignUp
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Confirms user registration as an admin without using a confirmation
-- code. Works on any user.
--
-- Calling this action requires developer credentials.
module Amazonka.CognitoIdentityProvider.AdminConfirmSignUp
  ( -- * Creating a Request
    AdminConfirmSignUp (..),
    newAdminConfirmSignUp,

    -- * Request Lenses
    adminConfirmSignUp_clientMetadata,
    adminConfirmSignUp_userPoolId,
    adminConfirmSignUp_username,

    -- * Destructuring the Response
    AdminConfirmSignUpResponse (..),
    newAdminConfirmSignUpResponse,

    -- * Response Lenses
    adminConfirmSignUpResponse_httpStatus,
  )
where

import Amazonka.CognitoIdentityProvider.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

-- | Represents the request to confirm user registration.
--
-- /See:/ 'newAdminConfirmSignUp' smart constructor.
data AdminConfirmSignUp = AdminConfirmSignUp'
  { -- | A map of custom key-value pairs that you can provide as input for any
    -- custom workflows that this action triggers.
    --
    -- If your user pool configuration includes triggers, the
    -- AdminConfirmSignUp API action invokes the Lambda function that is
    -- specified for the /post confirmation/ trigger. When Amazon Cognito
    -- invokes this function, it passes a JSON payload, which the function
    -- receives as input. In this payload, the @clientMetadata@ attribute
    -- provides the data that you assigned to the ClientMetadata parameter in
    -- your AdminConfirmSignUp request. In your function code in Lambda, you
    -- can process the ClientMetadata value to enhance your workflow for your
    -- specific needs.
    --
    -- For more information, see
    -- <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html Customizing user pool Workflows with Lambda Triggers>
    -- in the /Amazon Cognito Developer Guide/.
    --
    -- When you use the ClientMetadata parameter, remember that Amazon Cognito
    -- won\'t do the following:
    --
    -- -   Store the ClientMetadata value. This data is available only to
    --     Lambda triggers that are assigned to a user pool to support custom
    --     workflows. If your user pool configuration doesn\'t include
    --     triggers, the ClientMetadata parameter serves no purpose.
    --
    -- -   Validate the ClientMetadata value.
    --
    -- -   Encrypt the ClientMetadata value. Don\'t use Amazon Cognito to
    --     provide sensitive information.
    AdminConfirmSignUp -> Maybe (HashMap Text Text)
clientMetadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The user pool ID for which you want to confirm user registration.
    AdminConfirmSignUp -> Text
userPoolId :: Prelude.Text,
    -- | The user name for which you want to confirm user registration.
    AdminConfirmSignUp -> Sensitive Text
username :: Data.Sensitive Prelude.Text
  }
  deriving (AdminConfirmSignUp -> AdminConfirmSignUp -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdminConfirmSignUp -> AdminConfirmSignUp -> Bool
$c/= :: AdminConfirmSignUp -> AdminConfirmSignUp -> Bool
== :: AdminConfirmSignUp -> AdminConfirmSignUp -> Bool
$c== :: AdminConfirmSignUp -> AdminConfirmSignUp -> Bool
Prelude.Eq, Int -> AdminConfirmSignUp -> ShowS
[AdminConfirmSignUp] -> ShowS
AdminConfirmSignUp -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdminConfirmSignUp] -> ShowS
$cshowList :: [AdminConfirmSignUp] -> ShowS
show :: AdminConfirmSignUp -> String
$cshow :: AdminConfirmSignUp -> String
showsPrec :: Int -> AdminConfirmSignUp -> ShowS
$cshowsPrec :: Int -> AdminConfirmSignUp -> ShowS
Prelude.Show, forall x. Rep AdminConfirmSignUp x -> AdminConfirmSignUp
forall x. AdminConfirmSignUp -> Rep AdminConfirmSignUp x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AdminConfirmSignUp x -> AdminConfirmSignUp
$cfrom :: forall x. AdminConfirmSignUp -> Rep AdminConfirmSignUp x
Prelude.Generic)

-- |
-- Create a value of 'AdminConfirmSignUp' 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:
--
-- 'clientMetadata', 'adminConfirmSignUp_clientMetadata' - A map of custom key-value pairs that you can provide as input for any
-- custom workflows that this action triggers.
--
-- If your user pool configuration includes triggers, the
-- AdminConfirmSignUp API action invokes the Lambda function that is
-- specified for the /post confirmation/ trigger. When Amazon Cognito
-- invokes this function, it passes a JSON payload, which the function
-- receives as input. In this payload, the @clientMetadata@ attribute
-- provides the data that you assigned to the ClientMetadata parameter in
-- your AdminConfirmSignUp request. In your function code in Lambda, you
-- can process the ClientMetadata value to enhance your workflow for your
-- specific needs.
--
-- For more information, see
-- <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html Customizing user pool Workflows with Lambda Triggers>
-- in the /Amazon Cognito Developer Guide/.
--
-- When you use the ClientMetadata parameter, remember that Amazon Cognito
-- won\'t do the following:
--
-- -   Store the ClientMetadata value. This data is available only to
--     Lambda triggers that are assigned to a user pool to support custom
--     workflows. If your user pool configuration doesn\'t include
--     triggers, the ClientMetadata parameter serves no purpose.
--
-- -   Validate the ClientMetadata value.
--
-- -   Encrypt the ClientMetadata value. Don\'t use Amazon Cognito to
--     provide sensitive information.
--
-- 'userPoolId', 'adminConfirmSignUp_userPoolId' - The user pool ID for which you want to confirm user registration.
--
-- 'username', 'adminConfirmSignUp_username' - The user name for which you want to confirm user registration.
newAdminConfirmSignUp ::
  -- | 'userPoolId'
  Prelude.Text ->
  -- | 'username'
  Prelude.Text ->
  AdminConfirmSignUp
newAdminConfirmSignUp :: Text -> Text -> AdminConfirmSignUp
newAdminConfirmSignUp Text
pUserPoolId_ Text
pUsername_ =
  AdminConfirmSignUp'
    { $sel:clientMetadata:AdminConfirmSignUp' :: Maybe (HashMap Text Text)
clientMetadata =
        forall a. Maybe a
Prelude.Nothing,
      $sel:userPoolId:AdminConfirmSignUp' :: Text
userPoolId = Text
pUserPoolId_,
      $sel:username:AdminConfirmSignUp' :: Sensitive Text
username = forall a. Iso' (Sensitive a) a
Data._Sensitive forall t b. AReview t b -> b -> t
Lens.# Text
pUsername_
    }

-- | A map of custom key-value pairs that you can provide as input for any
-- custom workflows that this action triggers.
--
-- If your user pool configuration includes triggers, the
-- AdminConfirmSignUp API action invokes the Lambda function that is
-- specified for the /post confirmation/ trigger. When Amazon Cognito
-- invokes this function, it passes a JSON payload, which the function
-- receives as input. In this payload, the @clientMetadata@ attribute
-- provides the data that you assigned to the ClientMetadata parameter in
-- your AdminConfirmSignUp request. In your function code in Lambda, you
-- can process the ClientMetadata value to enhance your workflow for your
-- specific needs.
--
-- For more information, see
-- <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html Customizing user pool Workflows with Lambda Triggers>
-- in the /Amazon Cognito Developer Guide/.
--
-- When you use the ClientMetadata parameter, remember that Amazon Cognito
-- won\'t do the following:
--
-- -   Store the ClientMetadata value. This data is available only to
--     Lambda triggers that are assigned to a user pool to support custom
--     workflows. If your user pool configuration doesn\'t include
--     triggers, the ClientMetadata parameter serves no purpose.
--
-- -   Validate the ClientMetadata value.
--
-- -   Encrypt the ClientMetadata value. Don\'t use Amazon Cognito to
--     provide sensitive information.
adminConfirmSignUp_clientMetadata :: Lens.Lens' AdminConfirmSignUp (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
adminConfirmSignUp_clientMetadata :: Lens' AdminConfirmSignUp (Maybe (HashMap Text Text))
adminConfirmSignUp_clientMetadata = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminConfirmSignUp' {Maybe (HashMap Text Text)
clientMetadata :: Maybe (HashMap Text Text)
$sel:clientMetadata:AdminConfirmSignUp' :: AdminConfirmSignUp -> Maybe (HashMap Text Text)
clientMetadata} -> Maybe (HashMap Text Text)
clientMetadata) (\s :: AdminConfirmSignUp
s@AdminConfirmSignUp' {} Maybe (HashMap Text Text)
a -> AdminConfirmSignUp
s {$sel:clientMetadata:AdminConfirmSignUp' :: Maybe (HashMap Text Text)
clientMetadata = Maybe (HashMap Text Text)
a} :: AdminConfirmSignUp) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The user pool ID for which you want to confirm user registration.
adminConfirmSignUp_userPoolId :: Lens.Lens' AdminConfirmSignUp Prelude.Text
adminConfirmSignUp_userPoolId :: Lens' AdminConfirmSignUp Text
adminConfirmSignUp_userPoolId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminConfirmSignUp' {Text
userPoolId :: Text
$sel:userPoolId:AdminConfirmSignUp' :: AdminConfirmSignUp -> Text
userPoolId} -> Text
userPoolId) (\s :: AdminConfirmSignUp
s@AdminConfirmSignUp' {} Text
a -> AdminConfirmSignUp
s {$sel:userPoolId:AdminConfirmSignUp' :: Text
userPoolId = Text
a} :: AdminConfirmSignUp)

-- | The user name for which you want to confirm user registration.
adminConfirmSignUp_username :: Lens.Lens' AdminConfirmSignUp Prelude.Text
adminConfirmSignUp_username :: Lens' AdminConfirmSignUp Text
adminConfirmSignUp_username = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AdminConfirmSignUp' {Sensitive Text
username :: Sensitive Text
$sel:username:AdminConfirmSignUp' :: AdminConfirmSignUp -> Sensitive Text
username} -> Sensitive Text
username) (\s :: AdminConfirmSignUp
s@AdminConfirmSignUp' {} Sensitive Text
a -> AdminConfirmSignUp
s {$sel:username:AdminConfirmSignUp' :: Sensitive Text
username = Sensitive Text
a} :: AdminConfirmSignUp) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. Iso' (Sensitive a) a
Data._Sensitive

instance Core.AWSRequest AdminConfirmSignUp where
  type
    AWSResponse AdminConfirmSignUp =
      AdminConfirmSignUpResponse
  request :: (Service -> Service)
-> AdminConfirmSignUp -> Request AdminConfirmSignUp
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 AdminConfirmSignUp
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse AdminConfirmSignUp)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
      ( \Int
s ResponseHeaders
h ()
x ->
          Int -> AdminConfirmSignUpResponse
AdminConfirmSignUpResponse'
            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))
      )

instance Prelude.Hashable AdminConfirmSignUp where
  hashWithSalt :: Int -> AdminConfirmSignUp -> Int
hashWithSalt Int
_salt AdminConfirmSignUp' {Maybe (HashMap Text Text)
Text
Sensitive Text
username :: Sensitive Text
userPoolId :: Text
clientMetadata :: Maybe (HashMap Text Text)
$sel:username:AdminConfirmSignUp' :: AdminConfirmSignUp -> Sensitive Text
$sel:userPoolId:AdminConfirmSignUp' :: AdminConfirmSignUp -> Text
$sel:clientMetadata:AdminConfirmSignUp' :: AdminConfirmSignUp -> Maybe (HashMap Text Text)
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
clientMetadata
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
userPoolId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Sensitive Text
username

instance Prelude.NFData AdminConfirmSignUp where
  rnf :: AdminConfirmSignUp -> ()
rnf AdminConfirmSignUp' {Maybe (HashMap Text Text)
Text
Sensitive Text
username :: Sensitive Text
userPoolId :: Text
clientMetadata :: Maybe (HashMap Text Text)
$sel:username:AdminConfirmSignUp' :: AdminConfirmSignUp -> Sensitive Text
$sel:userPoolId:AdminConfirmSignUp' :: AdminConfirmSignUp -> Text
$sel:clientMetadata:AdminConfirmSignUp' :: AdminConfirmSignUp -> Maybe (HashMap Text Text)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
clientMetadata
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
userPoolId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Sensitive Text
username

instance Data.ToHeaders AdminConfirmSignUp where
  toHeaders :: AdminConfirmSignUp -> 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
"AWSCognitoIdentityProviderService.AdminConfirmSignUp" ::
                          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 AdminConfirmSignUp where
  toJSON :: AdminConfirmSignUp -> Value
toJSON AdminConfirmSignUp' {Maybe (HashMap Text Text)
Text
Sensitive Text
username :: Sensitive Text
userPoolId :: Text
clientMetadata :: Maybe (HashMap Text Text)
$sel:username:AdminConfirmSignUp' :: AdminConfirmSignUp -> Sensitive Text
$sel:userPoolId:AdminConfirmSignUp' :: AdminConfirmSignUp -> Text
$sel:clientMetadata:AdminConfirmSignUp' :: AdminConfirmSignUp -> Maybe (HashMap Text Text)
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"ClientMetadata" 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 (HashMap Text Text)
clientMetadata,
            forall a. a -> Maybe a
Prelude.Just (Key
"UserPoolId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
userPoolId),
            forall a. a -> Maybe a
Prelude.Just (Key
"Username" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Sensitive Text
username)
          ]
      )

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

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

-- | Represents the response from the server for the request to confirm
-- registration.
--
-- /See:/ 'newAdminConfirmSignUpResponse' smart constructor.
data AdminConfirmSignUpResponse = AdminConfirmSignUpResponse'
  { -- | The response's http status code.
    AdminConfirmSignUpResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (AdminConfirmSignUpResponse -> AdminConfirmSignUpResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AdminConfirmSignUpResponse -> AdminConfirmSignUpResponse -> Bool
$c/= :: AdminConfirmSignUpResponse -> AdminConfirmSignUpResponse -> Bool
== :: AdminConfirmSignUpResponse -> AdminConfirmSignUpResponse -> Bool
$c== :: AdminConfirmSignUpResponse -> AdminConfirmSignUpResponse -> Bool
Prelude.Eq, ReadPrec [AdminConfirmSignUpResponse]
ReadPrec AdminConfirmSignUpResponse
Int -> ReadS AdminConfirmSignUpResponse
ReadS [AdminConfirmSignUpResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AdminConfirmSignUpResponse]
$creadListPrec :: ReadPrec [AdminConfirmSignUpResponse]
readPrec :: ReadPrec AdminConfirmSignUpResponse
$creadPrec :: ReadPrec AdminConfirmSignUpResponse
readList :: ReadS [AdminConfirmSignUpResponse]
$creadList :: ReadS [AdminConfirmSignUpResponse]
readsPrec :: Int -> ReadS AdminConfirmSignUpResponse
$creadsPrec :: Int -> ReadS AdminConfirmSignUpResponse
Prelude.Read, Int -> AdminConfirmSignUpResponse -> ShowS
[AdminConfirmSignUpResponse] -> ShowS
AdminConfirmSignUpResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AdminConfirmSignUpResponse] -> ShowS
$cshowList :: [AdminConfirmSignUpResponse] -> ShowS
show :: AdminConfirmSignUpResponse -> String
$cshow :: AdminConfirmSignUpResponse -> String
showsPrec :: Int -> AdminConfirmSignUpResponse -> ShowS
$cshowsPrec :: Int -> AdminConfirmSignUpResponse -> ShowS
Prelude.Show, forall x.
Rep AdminConfirmSignUpResponse x -> AdminConfirmSignUpResponse
forall x.
AdminConfirmSignUpResponse -> Rep AdminConfirmSignUpResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AdminConfirmSignUpResponse x -> AdminConfirmSignUpResponse
$cfrom :: forall x.
AdminConfirmSignUpResponse -> Rep AdminConfirmSignUpResponse x
Prelude.Generic)

-- |
-- Create a value of 'AdminConfirmSignUpResponse' 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:
--
-- 'httpStatus', 'adminConfirmSignUpResponse_httpStatus' - The response's http status code.
newAdminConfirmSignUpResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  AdminConfirmSignUpResponse
newAdminConfirmSignUpResponse :: Int -> AdminConfirmSignUpResponse
newAdminConfirmSignUpResponse Int
pHttpStatus_ =
  AdminConfirmSignUpResponse'
    { $sel:httpStatus:AdminConfirmSignUpResponse' :: Int
httpStatus =
        Int
pHttpStatus_
    }

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

instance Prelude.NFData AdminConfirmSignUpResponse where
  rnf :: AdminConfirmSignUpResponse -> ()
rnf AdminConfirmSignUpResponse' {Int
httpStatus :: Int
$sel:httpStatus:AdminConfirmSignUpResponse' :: AdminConfirmSignUpResponse -> Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus