70 lines
4.2 KiB
C++
70 lines
4.2 KiB
C++
#ifndef HTTPCLIENT_H
|
|
#define HTTPCLIENT_H
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
|
|
namespace Http {
|
|
|
|
class HttpClientImpl;
|
|
|
|
class HttpClient
|
|
{
|
|
public:
|
|
HttpClient(int timeout = 3);
|
|
~HttpClient();
|
|
|
|
HttpClient(const HttpClient&) = delete;
|
|
|
|
int GetUrlReturnCode(const std::string& url) const;
|
|
|
|
std::string GetUrlContents(const std::string& url) const;
|
|
void GetUrlSilent(const std::string& url) const;
|
|
std::string GetUrlRedirect(const std::string& url) const;
|
|
|
|
std::string GetUrlContents(const std::string& url, const std::vector<std::string>& httpHeaders) const;
|
|
void GetUrlSilent(const std::string& url, const std::vector<std::string>& httpHeaders) const;
|
|
std::string GetUrlRedirect(const std::string& url, const std::vector<std::string>& httpHeaders) const;
|
|
|
|
std::string GetUrlContents(const std::string& url, const std::string& cookieFile) const;
|
|
void GetUrlSilent(const std::string& url, const std::string& cookieFile) const;
|
|
std::string GetUrlRedirect(const std::string& url, const std::string& cookieFile) const;
|
|
|
|
std::string GetUrlContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile) const;
|
|
void GetUrlSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile) const;
|
|
std::string GetUrlRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile) const;
|
|
|
|
std::string PutUrlContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
|
|
void PutUrlSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
|
|
std::string PutUrlRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
|
|
|
|
std::string PutUrlContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
|
|
void PutUrlSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
|
|
std::string PutUrlRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
|
|
|
|
std::string GetUrlPostContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
|
|
void GetUrlPostSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
|
|
std::string GetUrlPostRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
|
|
|
|
std::string GetUrlPostContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
|
|
void GetUrlPostSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
|
|
std::string GetUrlPostRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
|
|
|
|
std::string GetUrlPostAttachmentContents(const std::string& url, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
|
|
void GetUrlPostAttachmentSilent(const std::string& url, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
|
|
std::string GetUrlPostAttachmentRedirect(const std::string& url, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
|
|
|
|
std::string GetUrlPostAttachmentContents(const std::string& url, const std::string& cookieFile, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
|
|
void GetUrlPostAttachmentSilent(const std::string& url, const std::string& cookieFile, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
|
|
std::string GetUrlPostAttachmentRedirect(const std::string& url, const std::string& cookieFile, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
|
|
|
|
private:
|
|
std::unique_ptr<HttpClientImpl> m_pHttpClientImpl;
|
|
};
|
|
|
|
} // namespace Http
|
|
|
|
#endif // HTTPCLIENT_H
|