6#include <userver/http/predefined_header.hpp>
8#include <userver/s3api/models/request.hpp>
10USERVER_NAMESPACE_BEGIN
12namespace s3api::api_methods {
15inline constexpr USERVER_NAMESPACE::http::
headers::PredefinedHeader kAmzCopySource{
"x-amz-copy-source"};
19 std::string_view bucket,
20 std::string_view path,
22 std::string_view content_type,
23 const std::optional<std::string_view>& content_disposition = std::nullopt
26Request DeleteObject(std::string_view bucket, std::string_view path);
29GetObject(std::string_view bucket, std::string_view path, std::optional<std::string_view> version = std::nullopt);
31Request GetObjectHead(std::string_view bucket, std::string_view path);
33void SetRange(
Request& req, size_t begin, size_t end);
35void SetRange(
Request& req, std::string_view range);
40 std::string_view bucket,
41 std::string_view path,
43 std::string_view marker =
"",
44 std::string_view delimiter =
""
48 std::string_view source_bucket,
49 std::string_view source_key,
50 std::string_view dest_bucket,
51 std::string_view dest_key,
52 std::string_view content_type