timeout support when create client or make request

This commit is contained in:
zhangzifa
2019-03-13 14:51:01 +08:00
committed by Jackson Tian
parent 8c9353a007
commit 619a7827de
29 changed files with 1005 additions and 97 deletions

View File

@@ -15,6 +15,7 @@
*/
#include <alibabacloud/core/ServiceRequest.h>
#include <alibabacloud/core/AlibabaCloud.h>
namespace AlibabaCloud {
@@ -26,7 +27,9 @@ ServiceRequest::ServiceRequest(const std::string &product,
product_(product),
resourcePath_("/"),
version_(version),
scheme_("https") {
scheme_("https"),
connectTimeout_(kInvalidTimeout),
readTimeout_(kInvalidTimeout) {
}
ServiceRequest::ServiceRequest(const ServiceRequest &other) :
@@ -36,7 +39,9 @@ ServiceRequest::ServiceRequest(const ServiceRequest &other) :
product_(other.product_),
resourcePath_(other.resourcePath_),
version_(other.version_),
scheme_(other.scheme_) {
scheme_(other.scheme_),
connectTimeout_(other.connectTimeout_),
readTimeout_(other.readTimeout_) {
setContent(other.content_, other.contentSize_);
}
@@ -49,6 +54,8 @@ ServiceRequest& ServiceRequest::operator=(const ServiceRequest &other) {
content_ = nullptr;
contentSize_ = 0;
params_ = other.params_;
connectTimeout_ = other.connectTimeout_;
readTimeout_ = other.readTimeout_;
setContent(other.content_, other.contentSize_);
}
return *this;
@@ -152,4 +159,20 @@ std::string ServiceRequest::scheme() const {
return scheme_;
}
long ServiceRequest::connectTimeout() const{
return connectTimeout_;
}
long ServiceRequest::readTimeout() const{
return readTimeout_;
}
void ServiceRequest::setConnectTimeout(const long connectTimeout) {
connectTimeout_ = connectTimeout;
}
void ServiceRequest::setReadTimeout(const long readTimeout) {
readTimeout_ = readTimeout;
}
} // namespace AlibabaCloud