| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /*============================================================================
- CMake - Cross Platform Makefile Generator
- Copyright 2000-2015 Kitware, Inc.
- Distributed under the OSI-approved BSD License (the "License");
- see accompanying file Copyright.txt for details.
- This software is distributed WITHOUT ANY WARRANTY; without even the
- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License for more information.
- ============================================================================*/
- #ifndef cmCTestCurl_h
- #define cmCTestCurl_h
- #include <cmConfigure.h> // IWYU pragma: keep
- #include <cm_curl.h>
- #include <string>
- #include <vector>
- class cmCTest;
- class cmCTestCurl
- {
- public:
- cmCTestCurl(cmCTest*);
- ~cmCTestCurl();
- bool UploadFile(std::string const& url, std::string const& file,
- std::string const& fields, std::string& response);
- bool HttpRequest(std::string const& url, std::string const& fields,
- std::string& response);
- // currently only supports CURLOPT_SSL_VERIFYPEER_OFF
- // and CURLOPT_SSL_VERIFYHOST_OFF
- void SetCurlOptions(std::vector<std::string> const& args);
- void SetUseHttp10On() { this->UseHttp10 = true; }
- void SetTimeOutSeconds(int s) { this->TimeOutSeconds = s; }
- std::string Escape(std::string const& source);
- protected:
- void SetProxyType();
- bool InitCurl();
- private:
- cmCTest* CTest;
- CURL* Curl;
- std::string HTTPProxyAuth;
- std::string HTTPProxy;
- curl_proxytype HTTPProxyType;
- bool VerifyHostOff;
- bool VerifyPeerOff;
- bool UseHttp10;
- int TimeOutSeconds;
- };
- #endif
|