{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.MechanicalTurk.GetFileUploadURL
(
getFileUploadURL
, GetFileUploadURL
, gfuuAssignmentId
, gfuuQuestionIdentifier
, getFileUploadURLResponse
, GetFileUploadURLResponse
, gfuursFileUploadURL
, gfuursResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MechanicalTurk.Types
import Network.AWS.MechanicalTurk.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetFileUploadURL = GetFileUploadURL'
{ _gfuuAssignmentId :: !Text
, _gfuuQuestionIdentifier :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getFileUploadURL
:: Text
-> Text
-> GetFileUploadURL
getFileUploadURL pAssignmentId_ pQuestionIdentifier_ =
GetFileUploadURL'
{ _gfuuAssignmentId = pAssignmentId_
, _gfuuQuestionIdentifier = pQuestionIdentifier_
}
gfuuAssignmentId :: Lens' GetFileUploadURL Text
gfuuAssignmentId = lens _gfuuAssignmentId (\ s a -> s{_gfuuAssignmentId = a})
gfuuQuestionIdentifier :: Lens' GetFileUploadURL Text
gfuuQuestionIdentifier = lens _gfuuQuestionIdentifier (\ s a -> s{_gfuuQuestionIdentifier = a})
instance AWSRequest GetFileUploadURL where
type Rs GetFileUploadURL = GetFileUploadURLResponse
request = postJSON mechanicalTurk
response
= receiveJSON
(\ s h x ->
GetFileUploadURLResponse' <$>
(x .?> "FileUploadURL") <*> (pure (fromEnum s)))
instance Hashable GetFileUploadURL where
instance NFData GetFileUploadURL where
instance ToHeaders GetFileUploadURL where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("MTurkRequesterServiceV20170117.GetFileUploadURL" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetFileUploadURL where
toJSON GetFileUploadURL'{..}
= object
(catMaybes
[Just ("AssignmentId" .= _gfuuAssignmentId),
Just
("QuestionIdentifier" .= _gfuuQuestionIdentifier)])
instance ToPath GetFileUploadURL where
toPath = const "/"
instance ToQuery GetFileUploadURL where
toQuery = const mempty
data GetFileUploadURLResponse = GetFileUploadURLResponse'
{ _gfuursFileUploadURL :: !(Maybe Text)
, _gfuursResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getFileUploadURLResponse
:: Int
-> GetFileUploadURLResponse
getFileUploadURLResponse pResponseStatus_ =
GetFileUploadURLResponse'
{_gfuursFileUploadURL = Nothing, _gfuursResponseStatus = pResponseStatus_}
gfuursFileUploadURL :: Lens' GetFileUploadURLResponse (Maybe Text)
gfuursFileUploadURL = lens _gfuursFileUploadURL (\ s a -> s{_gfuursFileUploadURL = a})
gfuursResponseStatus :: Lens' GetFileUploadURLResponse Int
gfuursResponseStatus = lens _gfuursResponseStatus (\ s a -> s{_gfuursResponseStatus = a})
instance NFData GetFileUploadURLResponse where