Merge topic 'ctest-submit-content-type'
2a6e0b61
CTest: Set Content-Type header for http file upload (#15774)
This commit is contained in:
commit
e6b35abf5b
|
@ -166,6 +166,10 @@ bool cmCTestCurl::UploadFile(std::string const& local_file,
|
||||||
curlWriteMemoryCallback);
|
curlWriteMemoryCallback);
|
||||||
::curl_easy_setopt(this->Curl, CURLOPT_DEBUGFUNCTION,
|
::curl_easy_setopt(this->Curl, CURLOPT_DEBUGFUNCTION,
|
||||||
curlDebugCallback);
|
curlDebugCallback);
|
||||||
|
// Be sure to set Content-Type to satisfy fussy modsecurity rules
|
||||||
|
struct curl_slist *headers = ::curl_slist_append(NULL,
|
||||||
|
"Content-Type: text/xml");
|
||||||
|
::curl_easy_setopt(this->Curl, CURLOPT_HTTPHEADER, headers);
|
||||||
std::vector<char> responseData;
|
std::vector<char> responseData;
|
||||||
std::vector<char> debugData;
|
std::vector<char> debugData;
|
||||||
::curl_easy_setopt(this->Curl, CURLOPT_FILE, (void *)&responseData);
|
::curl_easy_setopt(this->Curl, CURLOPT_FILE, (void *)&responseData);
|
||||||
|
@ -174,6 +178,8 @@ bool cmCTestCurl::UploadFile(std::string const& local_file,
|
||||||
// Now run off and do what you've been told!
|
// Now run off and do what you've been told!
|
||||||
::curl_easy_perform(this->Curl);
|
::curl_easy_perform(this->Curl);
|
||||||
::fclose(ftpfile);
|
::fclose(ftpfile);
|
||||||
|
::curl_easy_setopt(this->Curl, CURLOPT_HTTPHEADER, NULL);
|
||||||
|
::curl_slist_free_all(headers);
|
||||||
|
|
||||||
if ( responseData.size() > 0 )
|
if ( responseData.size() > 0 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -338,6 +338,8 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(const std::string& localprefix,
|
||||||
CURLcode res;
|
CURLcode res;
|
||||||
FILE* ftpfile;
|
FILE* ftpfile;
|
||||||
char error_buffer[1024];
|
char error_buffer[1024];
|
||||||
|
struct curl_slist *headers = ::curl_slist_append(NULL,
|
||||||
|
"Content-Type: text/xml");
|
||||||
|
|
||||||
/* In windows, this will init the winsock stuff */
|
/* In windows, this will init the winsock stuff */
|
||||||
::curl_global_init(CURL_GLOBAL_ALL);
|
::curl_global_init(CURL_GLOBAL_ALL);
|
||||||
|
@ -420,6 +422,9 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(const std::string& localprefix,
|
||||||
::curl_easy_setopt(curl, CURLOPT_PUT, 1);
|
::curl_easy_setopt(curl, CURLOPT_PUT, 1);
|
||||||
::curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
|
::curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
|
||||||
|
|
||||||
|
// Be sure to set Content-Type to satisfy fussy modsecurity rules
|
||||||
|
::curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
|
||||||
|
|
||||||
std::string local_file = *file;
|
std::string local_file = *file;
|
||||||
if ( !cmSystemTools::FileExists(local_file.c_str()) )
|
if ( !cmSystemTools::FileExists(local_file.c_str()) )
|
||||||
{
|
{
|
||||||
|
@ -477,6 +482,7 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(const std::string& localprefix,
|
||||||
cmCTestLog(this->CTest, ERROR_MESSAGE, " Cannot find file: "
|
cmCTestLog(this->CTest, ERROR_MESSAGE, " Cannot find file: "
|
||||||
<< local_file << std::endl);
|
<< local_file << std::endl);
|
||||||
::curl_easy_cleanup(curl);
|
::curl_easy_cleanup(curl);
|
||||||
|
::curl_slist_free_all(headers);
|
||||||
::curl_global_cleanup();
|
::curl_global_cleanup();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -621,6 +627,7 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(const std::string& localprefix,
|
||||||
<< std::endl);
|
<< std::endl);
|
||||||
}
|
}
|
||||||
::curl_easy_cleanup(curl);
|
::curl_easy_cleanup(curl);
|
||||||
|
::curl_slist_free_all(headers);
|
||||||
::curl_global_cleanup();
|
::curl_global_cleanup();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -630,6 +637,7 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(const std::string& localprefix,
|
||||||
" Uploaded: " + local_file << std::endl, this->Quiet);
|
" Uploaded: " + local_file << std::endl, this->Quiet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
::curl_slist_free_all(headers);
|
||||||
::curl_global_cleanup();
|
::curl_global_cleanup();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue