29#ifndef __TERRALIB_WS_CORE_CURLWRAPPER_H
30#define __TERRALIB_WS_CORE_CURLWRAPPER_H
106 virtual void post(
const te::core::URI& uri,
const std::string &postFields, const::std::string &header);
129 virtual void customRequest(
const te::core::URI& uri,
const std::string& request,
const std::string& body = std::string(
""), const::std::string &header = std::string(
""));
191 virtual void verifyURL(std::string url, uint32_t timeout)
const;
This class can be used to inform the progress of a task.
A class for representing an Uniform Resource Identifier (URI).
This class can be used to inform the progress of a task.
A class to store the proxy information that must be used to access data located in URIs.
CurlGlobalScope & operator=(CurlGlobalScope &&other)=delete
CurlGlobalScope & operator=(const CurlGlobalScope &other)=delete
CurlGlobalScope(CurlGlobalScope &&other)=delete
CurlGlobalScope(const CurlGlobalScope &other)=delete
virtual void downloadFile(const std::string &url, const std::string &filePath, te::common::TaskProgress *taskProgress=0)
Method to download a file retrieved from given URL and save into the specified file path.
virtual void downloadFile(const std::string &url, std::FILE *file, te::common::TaskProgress *taskProgress=0)
Method to download a file retrieved from given URL and save into the specified File.
virtual std::string getTaskMessage() const
This method gets the message that will be used on Progress Bar when this object is downloading some f...
std::unique_ptr< Impl > m_pimpl
std::unique_lock< std::mutex > getLock()
static CurlGlobalScope curlScope_
virtual void addAuthParameters()
Adds HTTP Authentication parameters according to the current AuthenticationMethod.
virtual const std::string & response() const
Returns the last operation response if the protocol allows it.
void setOption(int option, std::string value)
virtual void post(const te::core::URI &uri, const std::string &postFields, const::std::string &header)
Method to request a post in a determined URI.
virtual void customRequest(const te::core::URI &uri, const std::string &request, const std::string &body=std::string(""), const::std::string &header=std::string(""))
Method to make a custom request, useful for performing a HTTP DELETE request.
virtual void verifyURL(std::string url, uint32_t timeout) const
Verify if the URI is reacheble.
virtual std::vector< std::string > listFiles(const te::core::URI &uri)
Method to list files in a URI.
virtual AuthenticationMethod getAuthenticationMethod() const
Gets current AuthenticationMethod.
virtual bool handleResponse(int curlStatusCode) const
Handles the response of a request.
CurlWrapper(CurlWrapper &&other)
virtual std::vector< std::string > listFiles_(const te::core::URI &uri)
Private unsafe method to list files in a URI.
virtual void downloadFile_(const std::string &url, std::FILE *file, te::common::TaskProgress *taskProgress=0)
Private unsafe method to download a file retrieved from given URL and save into the specified File.
virtual void setUsername(const std::string &username)
Sets the user name that will be used when an athentication method is set.
virtual void setTaskMessage(const std::string &taskMessage)
This method sets the message that will be used on Progress Bar when this object is downloading some f...
virtual const long responseCode() const
Returns the last operation response code.
virtual void setAuthenticationMethod(const AuthenticationMethod &method)
Sets the authentication method that will be used on the requests.
virtual void putFile(const te::core::URI &uri, const std::string &filePath, const::std::string &header, te::common::TaskProgress *taskProgress=0)
Method to request a put with a file in a determined URI.
virtual void putFile(const te::core::URI &uri, FILE *file, const::std::string &header, te::common::TaskProgress *taskProgress=0, const long &fileSize=0L)
Method to request a put a file in a determined URI.
virtual void setPassword(const std::string &password)
Sets the password that will be used when an athentication method is set.
void setOption(int option, int value)
virtual std::string getUsername() const
Gets the user name that will be used when an athentication method is set.
virtual void clean()
Reset the curl handle and the class members.
void setOption(int option, char *value)
virtual void get(const te::core::URI &uri, std::string &buffer)
Method to make a GET request.
virtual void setupEnvironment() const
Sets up the enviroment before any atempt to make a request.
Configuration flags for the Terrralib WS Core module.
#define TEWSCOREEXPORT
You can use this macro in order to export/import classes and functions from this module.