Merge pull request #555 from orozery/dont_sign_empty_headers

don't sign empty headers (as they are discarded by libcurl)
This commit is contained in:
Takeshi Nakatani 2017-04-16 19:16:47 +09:00 committed by GitHub
commit edcf4c6218

View File

@ -4073,6 +4073,10 @@ string get_sorted_header_keys(const struct curl_slist* list)
string strkey = list->data;
size_t pos;
if(string::npos != (pos = strkey.find(':', 0))){
if (trim(strkey.substr(pos + 1)).empty()) {
// skip empty-value headers (as they are discarded by libcurl)
continue;
}
strkey = strkey.substr(0, pos);
}
if(0 < sorted_headers.length()){
@ -4099,6 +4103,10 @@ string get_canonical_headers(const struct curl_slist* list)
if(string::npos != (pos = strhead.find(':', 0))){
string strkey = trim(lower(strhead.substr(0, pos)));
string strval = trim(strhead.substr(pos + 1));
if (strval.empty()) {
// skip empty-value headers (as they are discarded by libcurl)
continue;
}
strhead = strkey + string(":") + strval;
}else{
strhead = trim(lower(strhead));
@ -4124,6 +4132,10 @@ string get_canonical_headers(const struct curl_slist* list, bool only_amz)
if(string::npos != (pos = strhead.find(':', 0))){
string strkey = trim(lower(strhead.substr(0, pos)));
string strval = trim(strhead.substr(pos + 1));
if (strval.empty()) {
// skip empty-value headers (as they are discarded by libcurl)
continue;
}
strhead = strkey + string(":") + strval;
}else{
strhead = trim(lower(strhead));