aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Public Member Functions | Static Public Member Functions | List of all members
Aws::Crt::S3::S3PutObjectMetaRequestOptions Class Referencefinal

#include <S3.h>

Inheritance diagram for Aws::Crt::S3::S3PutObjectMetaRequestOptions:
Aws::Crt::S3::S3MetaRequestOptions

Public Member Functions

 S3PutObjectMetaRequestOptions (const S3PutObjectMetaRequestOptions &)=delete
 
 S3PutObjectMetaRequestOptions (S3PutObjectMetaRequestOptions &&)=delete
 
S3PutObjectMetaRequestOptions & operator= (const S3PutObjectMetaRequestOptions &)=delete
 
S3PutObjectMetaRequestOptions & operator= (S3PutObjectMetaRequestOptions &&)=delete
 
- Public Member Functions inherited from Aws::Crt::S3::S3MetaRequestOptions
 S3MetaRequestOptions (const S3MetaRequestOptions &)=delete
 
 S3MetaRequestOptions (S3MetaRequestOptions &&)=delete
 
S3MetaRequestOptions & operator= (const S3MetaRequestOptions &)=delete
 
S3MetaRequestOptions & operator= (S3MetaRequestOptions &&)=delete
 
virtual ~S3MetaRequestOptions () noexcept
 
S3MetaRequestOptions & SetSigningConfig (const Auth::AwsSigningConfig &config) noexcept
 
S3MetaRequestOptions & SetSigningConfigFromEndpoint (const String &region, const String &signingRegion, const String &signingName, bool isS3Express, const std::shared_ptr< Auth::ICredentialsProvider > &provider) noexcept
 
S3MetaRequestOptions & SetChecksumConfig (const S3ChecksumConfig &config) noexcept
 
S3MetaRequestOptions & SetEndpoint (const Io::Uri &endpoint) noexcept
 
S3MetaRequestOptions & SetHeadersCallback (HeadersCallback cb) noexcept
 
S3MetaRequestOptions & SetProgressCallback (ProgressCallback cb) noexcept
 
S3MetaRequestOptions & SetFinishCallback (FinishCallback cb) noexcept
 
S3MetaRequestOptions & SetShutdownCallback (ShutdownCallback cb) noexcept
 
S3MetaRequestOptions & SetRecvFileMode (S3RecvFileMode mode) noexcept
 
S3MetaRequestOptions & SetRecvFilePosition (uint64_t position) noexcept
 
S3MetaRequestOptions & SetRecvFileDeleteOnFailure (bool deleteOnFailure) noexcept
 
S3MetaRequestOptions & SetObjectSizeHint (uint64_t bytes) noexcept
 
S3MetaRequestOptions & SetPartSize (uint64_t bytes) noexcept
 
S3MetaRequestOptions & SetMultipartUploadThreshold (uint64_t bytes) noexcept
 
const BodyCallback & GetBodyCallback () const noexcept
 
const BodyCallbackEx & GetBodyCallbackEx () const noexcept
 
const HeadersCallback & GetHeadersCallback () const noexcept
 
const ProgressCallback & GetProgressCallback () const noexcept
 
const FinishCallback & GetFinishCallback () const noexcept
 
const ShutdownCallback & GetShutdownCallback () const noexcept
 
int GetLastError () const noexcept
 

Static Public Member Functions

static ScopedResource< S3MetaRequestOptions > Create (const std::shared_ptr< Http::HttpRequest > &request) noexcept
 
static ScopedResource< S3MetaRequestOptions > Create (const std::shared_ptr< Http::HttpRequest > &request, const Crt::String &sendFilepath) noexcept
 
static ScopedResource< S3MetaRequestOptions > CreateWithAsyncWrites (const std::shared_ptr< Http::HttpRequest > &request) noexcept
 

Additional Inherited Members

- Public Types inherited from Aws::Crt::S3::S3MetaRequestOptions
using BodyCallback = std::function< bool(ByteCursor body, uint64_t rangeStart)>
 
using BodyCallbackEx = std::function< bool(ByteCursor body, uint64_t rangeStart, S3BufferTicket &ticket)>
 
using HeadersCallback = std::function< bool(const Vector< Http::HttpHeader > &headers, int responseStatus)>
 
using ProgressCallback = std::function< void(uint64_t bytesTransferred, uint64_t contentLength)>
 
using FinishCallback = std::function< void(const S3MetaRequestResult &result)>
 
using ShutdownCallback = std::function< void()>
 
- Protected Member Functions inherited from Aws::Crt::S3::S3MetaRequestOptions
 S3MetaRequestOptions (S3MetaRequestType type, const std::shared_ptr< Http::HttpRequest > &request) noexcept
 
- Protected Attributes inherited from Aws::Crt::S3::S3MetaRequestOptions
ScopedResource< Impl > m_impl
 
std::shared_ptr< Http::HttpRequest > m_httpRequest
 
String m_operationName
 
String m_sendFilepath
 
String m_recvFilepath
 
aws_uri m_endpoint
 
bool m_endpointInit
 
Optional< uint64_t > m_objectSizeHint
 
BodyCallback m_bodyCb
 
BodyCallbackEx m_bodyCbEx
 
HeadersCallback m_headersCb
 
ProgressCallback m_progressCb
 
FinishCallback m_finishCb
 
ShutdownCallback m_shutdownCb
 
int m_lastError = AWS_ERROR_SUCCESS
 

Detailed Description

Options for a PutObject meta request. The body source is pinned at construction: either the HTTP request already carries a body stream (via HttpRequest::SetBody), or a source file path is supplied. aws-c-s3 rejects a PUT with no source. Which source is used is determined by whether a source file path is passed.

Constructor & Destructor Documentation

Aws::Crt::S3::S3PutObjectMetaRequestOptions::S3PutObjectMetaRequestOptions ( const S3PutObjectMetaRequestOptions &  )
delete
Aws::Crt::S3::S3PutObjectMetaRequestOptions::S3PutObjectMetaRequestOptions ( S3PutObjectMetaRequestOptions &&  )
delete

Member Function Documentation

ScopedResource< S3MetaRequestOptions > Aws::Crt::S3::S3PutObjectMetaRequestOptions::Create ( const std::shared_ptr< Http::HttpRequest > &  request)
staticnoexcept

Build options for a PUT whose body is already attached to the HTTP request (via HttpRequest::SetBody).

Parameters
requestthe prepared HTTP request with body attached.
Returns
a unique_ptr to the base type, or nullptr on failure.
ScopedResource< S3MetaRequestOptions > Aws::Crt::S3::S3PutObjectMetaRequestOptions::Create ( const std::shared_ptr< Http::HttpRequest > &  request,
const Crt::String &  sendFilepath 
)
staticnoexcept

Build options for a PUT whose body is read from a file on disk. Do NOT also attach a body to the HTTP request - aws-c-s3 rejects requests with more than one body source.

Parameters
requestthe prepared HTTP request (no body attached).
sendFilepathsource file path.
Returns
a unique_ptr to the base type, or nullptr on failure.
ScopedResource< S3MetaRequestOptions > Aws::Crt::S3::S3PutObjectMetaRequestOptions::CreateWithAsyncWrites ( const std::shared_ptr< Http::HttpRequest > &  request)
staticnoexcept

Build options for a PUT whose body is supplied incrementally via S3MetaRequest::Write. Do NOT attach a body to the HTTP request or supply a send filepath - aws-c-s3 rejects more than one body source. The object is uploaded as multipart and the content length need not be known up front.

Parameters
requestthe prepared HTTP request (no body attached).
Returns
a unique_ptr to the base type, or nullptr on failure.
S3PutObjectMetaRequestOptions& Aws::Crt::S3::S3PutObjectMetaRequestOptions::operator= ( const S3PutObjectMetaRequestOptions &  )
delete
S3PutObjectMetaRequestOptions& Aws::Crt::S3::S3PutObjectMetaRequestOptions::operator= ( S3PutObjectMetaRequestOptions &&  )
delete

The documentation for this class was generated from the following files: