S3Request.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
  3. * SPDX-License-Identifier: Apache-2.0.
  4. */
  5. #pragma once
  6. #include <aws/s3/S3_EXPORTS.h>
  7. #include <aws/core/endpoint/AWSEndpoint.h>
  8. #include <aws/core/AmazonSerializableWebServiceRequest.h>
  9. #include <aws/core/utils/UnreferencedParam.h>
  10. #include <aws/core/http/HttpRequest.h>
  11. #include <aws/core/AmazonStreamingWebServiceRequest.h>
  12. namespace Aws
  13. {
  14. namespace S3
  15. {
  16. class AWS_S3_API S3Request : public Aws::AmazonSerializableWebServiceRequest
  17. {
  18. public:
  19. using EndpointParameter = Aws::Endpoint::EndpointParameter;
  20. using EndpointParameters = Aws::Endpoint::EndpointParameters;
  21. virtual ~S3Request () {}
  22. void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); }
  23. inline Aws::Http::HeaderValueCollection GetHeaders() const override
  24. {
  25. auto headers = GetRequestSpecificHeaders();
  26. if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0))
  27. {
  28. headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_XML_CONTENT_TYPE ));
  29. }
  30. headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2006-03-01"));
  31. return headers;
  32. }
  33. protected:
  34. virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
  35. };
  36. typedef Aws::AmazonStreamingWebServiceRequest StreamingS3Request;
  37. } // namespace S3
  38. } // namespace Aws