supported request headers operation
This commit is contained in:
@@ -46,6 +46,10 @@ public:
|
||||
void setConnectTimeout(const long connectTimeout);
|
||||
void setReadTimeout(const long readTimeout);
|
||||
void setMethod(const HttpRequest::Method method);
|
||||
void setHeader(const ParameterNameType &name, const ParameterValueType &value);
|
||||
ParameterValueType getHeader(const ParameterNameType &name);
|
||||
void removeHeader(const ParameterNameType &name);
|
||||
ParameterCollection headers() const;
|
||||
|
||||
protected:
|
||||
ServiceRequest(const std::string &product, const std::string &version);
|
||||
@@ -77,6 +81,7 @@ private:
|
||||
char *content_;
|
||||
size_t contentSize_;
|
||||
ParameterCollection params_;
|
||||
ParameterCollection headers_;
|
||||
std::string product_;
|
||||
std::string resourcePath_;
|
||||
std::string version_;
|
||||
|
||||
@@ -102,6 +102,12 @@ HttpRequest RoaServiceClient::buildHttpRequest(const std::string & endpoint,
|
||||
request.setReadTimeout(configuration().readTimeout());
|
||||
}
|
||||
|
||||
for(const auto &h : msg.headers()){
|
||||
if(!h.second.empty()){
|
||||
request.setHeader(h.first, h.second);
|
||||
}
|
||||
}
|
||||
|
||||
if (msg.parameter("Accept").empty()) {
|
||||
request.setHeader("Accept", "application/json");
|
||||
} else {
|
||||
|
||||
@@ -119,6 +119,14 @@ HttpRequest RpcServiceClient::buildHttpRequest(const std::string & endpoint,
|
||||
request.setConnectTimeout(configuration().connectTimeout());
|
||||
}
|
||||
|
||||
for (const auto &h : msg.headers())
|
||||
{
|
||||
if (!h.second.empty())
|
||||
{
|
||||
request.setHeader(h.first, h.second);
|
||||
}
|
||||
}
|
||||
|
||||
if (msg.readTimeout() != kInvalidTimeout) {
|
||||
request.setReadTimeout(msg.readTimeout());
|
||||
} else {
|
||||
|
||||
@@ -235,4 +235,25 @@ void ServiceRequest::setMethod(const HttpRequest::Method method)
|
||||
method_ = method;
|
||||
}
|
||||
|
||||
void ServiceRequest::setHeader(const ServiceRequest::ParameterNameType &name,
|
||||
const ServiceRequest::ParameterValueType &value)
|
||||
{
|
||||
headers_[name] = value;
|
||||
}
|
||||
|
||||
ServiceRequest::ParameterValueType ServiceRequest::getHeader(const ServiceRequest::ParameterNameType &name)
|
||||
{
|
||||
return headers_[name];
|
||||
}
|
||||
|
||||
void ServiceRequest::removeHeader(const ServiceRequest::ParameterNameType &name)
|
||||
{
|
||||
headers_.erase(name);
|
||||
}
|
||||
|
||||
ServiceRequest::ParameterCollection ServiceRequest::headers() const
|
||||
{
|
||||
return headers_;
|
||||
}
|
||||
|
||||
} // namespace AlibabaCloud
|
||||
|
||||
Reference in New Issue
Block a user