S3Request.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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/AmazonSerializableWebServiceRequest.h>
  8. #include <aws/core/utils/UnreferencedParam.h>
  9. #include <aws/core/http/HttpRequest.h>
  10. #include <aws/core/AmazonStreamingWebServiceRequest.h>
  11. namespace Aws
  12. {
  13. namespace S3
  14. {
  15. class AWS_S3_API S3Request : public Aws::AmazonSerializableWebServiceRequest
  16. {
  17. public:
  18. virtual ~S3Request () {}
  19. void AddParametersToRequest(Aws::Http::HttpRequest& httpRequest) const { AWS_UNREFERENCED_PARAM(httpRequest); }
  20. inline Aws::Http::HeaderValueCollection GetHeaders() const override
  21. {
  22. auto headers = GetRequestSpecificHeaders();
  23. if(headers.size() == 0 || (headers.size() > 0 && headers.count(Aws::Http::CONTENT_TYPE_HEADER) == 0))
  24. {
  25. headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::CONTENT_TYPE_HEADER, Aws::AMZN_XML_CONTENT_TYPE ));
  26. }
  27. headers.emplace(Aws::Http::HeaderValuePair(Aws::Http::API_VERSION_HEADER, "2006-03-01"));
  28. return headers;
  29. }
  30. protected:
  31. virtual Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const { return Aws::Http::HeaderValueCollection(); }
  32. };
  33. typedef Aws::AmazonStreamingWebServiceRequest StreamingS3Request;
  34. } // namespace S3
  35. } // namespace Aws