uvco 0.1
|
Used as awaiter by Curl::download. More...
Public Member Functions | |
CurlRequestCore_ (const CurlRequestCore_ &)=delete | |
CurlRequestCore_ (CurlRequestCore_ &&)=delete | |
CurlRequestCore_ & | operator= (const CurlRequestCore_ &)=delete |
CurlRequestCore_ & | operator= (CurlRequestCore_ &&)=delete |
CurlRequestCore_ (std::weak_ptr< UvCurlContext_ > ctx) | |
CurlRequestCore_ (std::weak_ptr< UvCurlContext_ > ctx, std::string url) | |
Construct and initialize download. | |
~CurlRequestCore_ () | |
void | initCommon (std::string url) |
void | initGet (std::string url) |
void | initPost (std::string url, std::span< const std::pair< std::string, std::string > > fields) |
std::string_view | url () const noexcept |
Get the URL of the request. | |
void | onDataAvailable (char *data, size_t size) |
Called when data is available. Resumes the downloader coroutine. | |
void | onError (uv_status status) noexcept |
bool | await_ready () const noexcept |
bool | await_suspend (std::coroutine_handle<> handle) noexcept |
Awaiter protocol: suspend the downloader coroutine. | |
std::optional< std::string > | await_resume () |
Awaiter protocol: yield the next chunk or signal end of stream. | |
void | setUvStatus (uv_status status) noexcept |
Set socket error status. | |
void | setResponseCode (long status) noexcept |
Set HTTP response code. | |
void | setVerifyResult (long result) noexcept |
Set SSL verification result. | |
void | setCurlStatus (CURLcode status) noexcept |
Set Curl error code. | |
std::optional< uv_status > | uvStatus () const noexcept |
Get uv error status. 0 if success. | |
std::optional< long > | responseCode () const noexcept |
Get HTTP response code. 0 if not set. | |
std::optional< long > | verifyResult () const noexcept |
Get SSL verification result. 0 means success, > 0 means failure. | |
std::optional< CURLcode > | curlStatus () const noexcept |
Get Curl error code once the request has finished. | |
Static Private Member Functions | |
static size_t | onCurlDataAvailable (char *data, size_t size, size_t nmemb, void *userp) |
Private Attributes | |
std::weak_ptr< UvCurlContext_ > | context_ |
CURL * | easyHandle_ |
std::string | url_ |
std::optional< std::string > | payload_ |
std::optional< std::coroutine_handle<> > | downloaderHandle_ |
std::vector< std::string > | chunks_ |
std::optional< uv_status > | uvStatus_ |
std::optional< CURLcode > | curlStatus_ |
std::optional< long > | responseCode_ |
std::optional< long > | verifyResult_ |
Friends | |
class | CurlRequest |
Used as awaiter by Curl::download.
|
delete |
|
delete |
|
inlineexplicit |
|
inline |
Construct and initialize download.
|
inline |
|
inlinenoexcept |
|
inline |
Awaiter protocol: yield the next chunk or signal end of stream.
|
inlinenoexcept |
Awaiter protocol: suspend the downloader coroutine.
|
inlinenoexcept |
Get Curl error code once the request has finished.
|
inline |
|
inline |
|
inline |
|
staticprivate |
|
inline |
Called when data is available. Resumes the downloader coroutine.
|
inlinenoexcept |
Called when an error occurs, but also upon completion (then status == 0).
Resumes the downloader coroutine.
|
delete |
|
delete |
|
inlinenoexcept |
Get HTTP response code. 0 if not set.
|
inlinenoexcept |
Set Curl error code.
|
inlinenoexcept |
Set HTTP response code.
|
inlinenoexcept |
|
inlinenoexcept |
Set SSL verification result.
|
inlinenoexcept |
Get the URL of the request.
|
inlinenoexcept |
Get uv error status. 0 if success.
|
inlinenoexcept |
Get SSL verification result. 0 means success, > 0 means failure.
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |