5 #include <unordered_map>
17 using std::unique_ptr;
18 using std::unordered_map;
58 static string urlEncode(
const string& value);
211 this->getParameters = parameters;
void cancel()
Cancel a started download.
unordered_map< string, string > headers
const string & getFile()
Get file to download to.
const string & getUsername()
Get username.
_Mutex downloadThreadMutex
uint64_t parseHTTPResponseHeaders(ifstream &rawResponse)
Parse HTTP response headers.
void setPassword(const string &password)
Set password.
const unordered_map< string, string > & getResponseHeaders()
void start()
Starts the HTTP download to file.
const unordered_map< string, string > & getHeaders()
Get request headers.
unordered_map< string, string > getParameters
void join()
Wait until underlying thread has finished.
unique_ptr< _Thread > downloadThread
const unordered_map< string, string > & getGETParameters()
Get GET parameter.
void setGETParameters(const unordered_map< string, string > ¶meters)
Set GET parameter.
void setUsername(const string &username)
Set username.
const string createHTTPRequestHeaders(const string &hostName, const string &relativeUrl)
Create HTTP request headers.
unordered_map< string, string > responseHeaders
static string urlEncode(const string &value)
Returns a URL encoded representation of value.
@ HTTP_STATUS_VARIANTALSONEGOTIATES
@ HTTP_STATUS_NOTEXTENDED
@ HTTP_STATUS_UNPROCESSABLEENTITY
@ HTTP_STATUS_NONAUTHORITATIVEINFORMATION
@ HTTP_STATUS_MISDIRECTEDREQUEST
@ HTTP_STATUS_SWITCHINGPROTOCOLS
@ HTTP_STATUS_GATEWAYTIMEOUT
@ HTTP_STATUS_PAYLOADTOOLARGE
@ HTTP_STATUS_RANGENOTSATISFIABLE
@ HTTP_STATUS_MULTIPLECHOICES
@ HTTP_STATUS_HTTPVERSIONNOTSUPPORTED
@ HTTP_STATUS_LENGTHREQUIRED
@ HTTP_STATUS_NOTACCEPTABLE
@ HTTP_STATUS_PARTIALCONTENT
@ HTTP_STATUS_NOTMODIFIED
@ HTTP_STATUS_LOOPDETECTED
@ HTTP_STATUS_PRECONDITIONREQUIRED
@ HTTP_STATUS_NOTIMPLEMENTED
@ HTTP_STATUS_INSUFFICIENTSTORAGE
@ HTTP_STATUS_TEMPORARYREDIRECT
@ HTTP_STATUS_UNAVAILABLEFORLEGALREASONS
@ HTTP_STATUS_REQUESTTIMEOUT
@ HTTP_STATUS_ALREADYREPORTED
@ HTTP_STATUS_CONTENTTOOLARGE
@ HTTP_STATUS_REQUESTHEADERFIELDSTOOLARGE
@ HTTP_STATUS_UPGRADEREQUIRED
@ HTTP_STATUS_UNPROCESSABLECONTENT
@ HTTP_STATUS_RESETCONTENT
@ HTTP_STATUS_PERMANENTREDIRECT
@ HTTP_STATUS_FAILEDDEPENDENCY
@ HTTP_STATUS_INTERNALSERVERERROR
@ HTTP_STATUS_EXPECTATIONFAILED
@ HTTP_STATUS_MULTISTATUS
@ HTTP_STATUS_TOOMANYREQUESTS
@ HTTP_STATUS_UNAUTHORIZED
@ HTTP_STATUS_PROXYAUTHENTICATIONREQUIRED
@ HTTP_STATUS_UNSUPPORTEDMEDIATYPE
@ HTTP_STATUS_SERVICEUNAVAILABLE
@ HTTP_STATUS_NETWORKAUTHENTICATIONREQUIRED
@ HTTP_STATUS_MOVEDPERMANENTLY
@ HTTP_STATUS_PRECONDITIONFAILED
@ HTTP_STATUS_METHODNOTALLOWED
@ HTTP_STATUS_PAYMENTREQUIRED
void setHeaders(const unordered_map< string, string > &headers)
Set request headers.
void reset()
Reset this HTTP client.
const string & getURL()
Get URL.
const string & getPassword()
Get password.
void setFile(const string &file)
Set file to download to.
void setURL(const string &url)
Set URL.
HTTPDownloadClient()
Public constructor.
Base exception class for network exceptions.