Skip to content

Commit

Permalink
fixed issue #74
Browse files Browse the repository at this point in the history
  • Loading branch information
wb-hx510875 committed Oct 25, 2019
1 parent 0c750a1 commit 0831be3
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 22 deletions.
13 changes: 6 additions & 7 deletions core/include/alibabacloud/core/RoaServiceClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,12 @@ class ALIBABACLOUD_CORE_EXPORT RoaServiceClient : public CoreClient {
virtual ~RoaServiceClient();

protected:
JsonOutcome makeRequest(const std::string &endpoint,
const RoaServiceRequest &msg, HttpRequest::Method method =
HttpRequest::Method::Get)const;
HttpRequest buildHttpRequest(const std::string & endpoint,
const ServiceRequest &msg, HttpRequest::Method method)const override;
HttpRequest buildHttpRequest(const std::string & endpoint,
const RoaServiceRequest &msg, HttpRequest::Method method)const;
JsonOutcome makeRequest(const std::string &endpoint,
const RoaServiceRequest &msg, HttpRequest::Method method = HttpRequest::Method::Get) const;
HttpRequest buildHttpRequest(const std::string &endpoint,
const ServiceRequest &msg, HttpRequest::Method method) const override;
HttpRequest buildHttpRequest(const std::string &endpoint,
const RoaServiceRequest &msg, HttpRequest::Method method) const;

private:
std::shared_ptr<CredentialsProvider> credentialsProvider_;
Expand Down
1 change: 1 addition & 0 deletions core/include/alibabacloud/core/RoaServiceRequest.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ class ALIBABACLOUD_CORE_EXPORT RoaServiceRequest : public ServiceRequest {
using ServiceRequest::parameter;
using ServiceRequest::setScheme;
using ServiceRequest::setResourcePath;
using ServiceRequest::setMethod;
};
} // namespace AlibabaCloud
#endif // CORE_INCLUDE_ALIBABACLOUD_CORE_ROASERVICEREQUEST_H_
13 changes: 6 additions & 7 deletions core/include/alibabacloud/core/RpcServiceClient.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,12 @@ class ALIBABACLOUD_CORE_EXPORT RpcServiceClient : public CoreClient {
using CoreClient::AttemptRequest;

protected:
virtual JsonOutcome makeRequest(const std::string &endpoint,
const RpcServiceRequest &msg, HttpRequest::Method method =
HttpRequest::Method::Get) const;
HttpRequest buildHttpRequest(const std::string & endpoint,
const ServiceRequest &msg, HttpRequest::Method method)const override;
HttpRequest buildHttpRequest(const std::string & endpoint,
const RpcServiceRequest &msg, HttpRequest::Method method)const;
virtual JsonOutcome makeRequest(const std::string &endpoint,
const RpcServiceRequest &msg, HttpRequest::Method method = HttpRequest::Method::Get) const;
HttpRequest buildHttpRequest(const std::string &endpoint,
const ServiceRequest &msg, HttpRequest::Method method) const override;
HttpRequest buildHttpRequest(const std::string &endpoint,
const RpcServiceRequest &msg, HttpRequest::Method method) const;

private:
std::shared_ptr<CredentialsProvider> credentialsProvider_;
Expand Down
3 changes: 2 additions & 1 deletion core/include/alibabacloud/core/RpcServiceRequest.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,10 @@ class ALIBABACLOUD_CORE_EXPORT RpcServiceRequest : public ServiceRequest {
virtual ~RpcServiceRequest();

std::string actionName()const;
using ServiceRequest::setMethod;
using ServiceRequest::setScheme;

protected:
protected:
void setActionName(const std::string &name);
};
} // namespace AlibabaCloud
Expand Down
4 changes: 4 additions & 0 deletions core/include/alibabacloud/core/ServiceRequest.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include "Url.h"
#include <map>
#include <string>
#include "HttpRequest.h"

namespace AlibabaCloud {
class ALIBABACLOUD_CORE_EXPORT ServiceRequest {
Expand All @@ -39,10 +40,12 @@ class ALIBABACLOUD_CORE_EXPORT ServiceRequest {
std::string resourcePath() const;
std::string version() const;
std::string scheme() const;
HttpRequest::Method method() const;
long connectTimeout() const;
long readTimeout() const;
void setConnectTimeout(const long connectTimeout);
void setReadTimeout(const long readTimeout);
void setMethod(const HttpRequest::Method method);

protected:
ServiceRequest(const std::string &product, const std::string &version);
Expand Down Expand Up @@ -80,6 +83,7 @@ class ALIBABACLOUD_CORE_EXPORT ServiceRequest {
std::string scheme_;
long connectTimeout_;
long readTimeout_;
HttpRequest::Method method_;
};
} // namespace AlibabaCloud

Expand Down
7 changes: 4 additions & 3 deletions core/src/RoaServiceClient.cc
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ RoaServiceClient::~RoaServiceClient() {
}

RoaServiceClient::JsonOutcome RoaServiceClient::makeRequest(
const std::string &endpoint,
const RoaServiceRequest &msg, HttpRequest::Method method)const {
auto outcome = AttemptRequest(endpoint, msg, method);
const std::string &endpoint,
const RoaServiceRequest &request, HttpRequest::Method method) const
{
auto outcome = AttemptRequest(endpoint, request, request.method());
if (outcome.isSuccess())
return JsonOutcome(std::string(outcome.result().body(),
outcome.result().bodySize()));
Expand Down
7 changes: 4 additions & 3 deletions core/src/RpcServiceClient.cc
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,10 @@ RpcServiceClient::~RpcServiceClient() {
}

RpcServiceClient::JsonOutcome RpcServiceClient::makeRequest(
const std::string &endpoint,
const RpcServiceRequest &msg, HttpRequest::Method method)const {
auto outcome = AttemptRequest(endpoint, msg, method);
const std::string &endpoint,
const RpcServiceRequest &request, HttpRequest::Method method) const
{
auto outcome = AttemptRequest(endpoint, request, request.method());
if (outcome.isSuccess())
return JsonOutcome(std::string(outcome.result().body(),
outcome.result().bodySize()));
Expand Down
13 changes: 12 additions & 1 deletion core/src/ServiceRequest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ ServiceRequest::ServiceRequest(const std::string &product,
version_(version),
scheme_("https"),
connectTimeout_(kInvalidTimeout),
readTimeout_(kInvalidTimeout)
readTimeout_(kInvalidTimeout),
method_(HttpRequest::Method::Get)
{
}

Expand Down Expand Up @@ -169,6 +170,11 @@ std::string ServiceRequest::version() const
return version_;
}

HttpRequest::Method ServiceRequest::method() const
{
return method_;
}

void ServiceRequest::setVersion(const std::string &version)
{
version_ = version;
Expand Down Expand Up @@ -224,4 +230,9 @@ void ServiceRequest::setReadTimeout(const long readTimeout)
readTimeout_ = readTimeout;
}

void ServiceRequest::setMethod(const HttpRequest::Method method)
{
method_ = method;
}

} // namespace AlibabaCloud

0 comments on commit 0831be3

Please sign in to comment.