/* * All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or * its licensors. * * For complete copyright and license terms please see the LICENSE at the root of this * distribution (the "License"). All use of this software is governed by the License, * or, if provided, by the license below or the license accompanying this file. Do not * remove or modify any license notices. This file is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * */ #include "CloudGemFramework_precompiled.h" // The AWS Native SDK AWSAllocator triggers a warning due to accessing members of std::allocator directly. // AWSAllocator.h(70): warning C4996: 'std::allocator::pointer': warning STL4010: Various members of std::allocator are deprecated in C++17. // Use std::allocator_traits instead of accessing these members directly. // You can define _SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning. #include AZ_PUSH_DISABLE_WARNING(4251 4996, "-Wunknown-warning-option") #include #include AZ_POP_DISABLE_WARNING #include #include #include namespace CloudGemFramework { HttpRequestJob& ServiceJob::GetHttpRequestJob() { return *this; } const HttpRequestJob& ServiceJob::GetHttpRequestJob() const { return *this; } void ServiceJob::Start() { HttpRequestJob::Start(); } std::shared_ptr ServiceJob::InitializeRequest() { std::shared_ptr request; RequestBuilder requestBuilder{}; if (BuildRequest(requestBuilder)) { request = Aws::Http::CreateHttpRequest( requestBuilder.GetRequestUrl(), requestBuilder.GetHttpMethod(), &Aws::Utils::Stream::DefaultResponseStreamFactoryMethod ); SetAWSAuthSigner(requestBuilder.GetAWSAuthSigner()); AZStd::string bodyString; if (std::shared_ptr bodyContent = GetBodyContent(requestBuilder)) { std::istreambuf_iterator eos; bodyString = AZStd::string{ std::istreambuf_iterator(*bodyContent), eos }; } ConfigureJsonServiceRequest(*this, bodyString); } return request; } std::shared_ptr ServiceJob::GetBodyContent(RequestBuilder& requestBuilder) { return requestBuilder.GetBodyContent(); } } // namespace CloudGemFramework