te::ws::core::CurlWrapper Class Reference

An abstraction to Lib Curl functions. More...

#include <CurlWrapper.h>

Public Member Functions

 CurlWrapper ()
 
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. More...
 
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. More...
 
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. More...
 
virtual void get (const te::core::URI &uri, std::string &buffer)
 Method to make a GET request. More...
 
virtual AuthenticationMethod getAuthenticationMethod () const
 Gets current AuthenticationMethod. More...
 
virtual std::string getTaskMessage () const
 This method gets the message that will be used on Progress Bar when this object is downloading some file. More...
 
virtual std::string getUsername () const
 Gets the user name that will be used when an athentication method is set. More...
 
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. More...
 
virtual void putFile (const te::core::URI &uri, const std::string &filePath, const ::std::string &header)
 Method to request a put with a file in a determined URI. More...
 
virtual void putFile (const te::core::URI &uri, const std::fstream &file, const ::std::string &header)
 Method to request a put a file in a determined URI. More...
 
virtual const std::string & response () const
 Returns the last operation response if the protocol allows it. More...
 
virtual const long responseCode () const
 Returns the last operation response code. More...
 
virtual void setAuthenticationMethod (const AuthenticationMethod &method)
 Sets the authentication method that will be used on the requests. More...
 
virtual void setPassword (const std::string &password)
 Sets the password that will be used when an athentication method is set. More...
 
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 file. More...
 
virtual void setUsername (const std::string &username)
 Sets the user name that will be used when an athentication method is set. More...
 
virtual ~CurlWrapper ()
 

Protected Member Functions

virtual void addAuthParameters ()
 Adds HTTP Authentication parameters according to the current AuthenticationMethod. More...
 
virtual void clean ()
 Reset the curl handle and the class members. More...
 

Private Attributes

std::unique_ptr< Impl > m_pimpl
 

Detailed Description

An abstraction to Lib Curl functions.

Definition at line 59 of file CurlWrapper.h.

Constructor & Destructor Documentation

te::ws::core::CurlWrapper::CurlWrapper ( )
virtual te::ws::core::CurlWrapper::~CurlWrapper ( )
virtual

Member Function Documentation

virtual void te::ws::core::CurlWrapper::addAuthParameters ( )
protectedvirtual

Adds HTTP Authentication parameters according to the current AuthenticationMethod.

virtual void te::ws::core::CurlWrapper::clean ( )
protectedvirtual

Reset the curl handle and the class members.

virtual void te::ws::core::CurlWrapper::customRequest ( const te::core::URI uri,
const std::string &  request,
const std::string &  body = std::string(""),
const ::std::string &  header = std::string("") 
)
virtual

Method to make a custom request, useful for performing a HTTP DELETE request.

Parameters
uriThe URI with the address information
requestThe custom request
virtual void te::ws::core::CurlWrapper::downloadFile ( const std::string &  url,
const std::string &  filePath,
te::common::TaskProgress taskProgress = 0 
)
virtual

Method to download a file retrieved from given URL and save into the specified file path.

Parameters
urlURL that the file will be downloaded.
filePathfile path where downloaded file will be saved.
virtual void te::ws::core::CurlWrapper::downloadFile ( const std::string &  url,
std::FILE *  file,
te::common::TaskProgress taskProgress = 0 
)
virtual

Method to download a file retrieved from given URL and save into the specified File.

Parameters
urlURL that the file will be downloaded.
fileFile where downloaded file will be write.
virtual void te::ws::core::CurlWrapper::get ( const te::core::URI uri,
std::string &  buffer 
)
virtual

Method to make a GET request.

Parameters
uriThe URI with the address information
bufferWhere the server answer will be write.
virtual AuthenticationMethod te::ws::core::CurlWrapper::getAuthenticationMethod ( ) const
virtual

Gets current AuthenticationMethod.

Returns
current AuthenticationMethod.
virtual std::string te::ws::core::CurlWrapper::getTaskMessage ( ) const
virtual

This method gets the message that will be used on Progress Bar when this object is downloading some file.

virtual std::string te::ws::core::CurlWrapper::getUsername ( ) const
virtual

Gets the user name that will be used when an athentication method is set.

Returns
username
virtual void te::ws::core::CurlWrapper::post ( const te::core::URI uri,
const std::string &  postFields,
const ::std::string &  header 
)
virtual

Method to request a post in a determined URI.

Parameters
uriThe URI with the address information to post
postFieldsThe parameters and values to post
headerA header to the post request
virtual void te::ws::core::CurlWrapper::putFile ( const te::core::URI uri,
const std::string &  filePath,
const ::std::string &  header 
)
virtual

Method to request a put with a file in a determined URI.

Parameters
uriThe URI with the address information
filePath The full path of the file to put
headerA header to the put request
virtual void te::ws::core::CurlWrapper::putFile ( const te::core::URI uri,
const std::fstream &  file,
const ::std::string &  header 
)
virtual

Method to request a put a file in a determined URI.

Parameters
uriThe URI with the address information
fileContains the file opened by the fstream
headerA header to the put request
virtual const std::string& te::ws::core::CurlWrapper::response ( ) const
virtual

Returns the last operation response if the protocol allows it.

Returns
The response
virtual const long te::ws::core::CurlWrapper::responseCode ( ) const
virtual

Returns the last operation response code.

Returns
The response code
virtual void te::ws::core::CurlWrapper::setAuthenticationMethod ( const AuthenticationMethod method)
virtual

Sets the authentication method that will be used on the requests.

Parameters
method(e. g.: Basic or Digest)
virtual void te::ws::core::CurlWrapper::setPassword ( const std::string &  password)
virtual

Sets the password that will be used when an athentication method is set.

Parameters
password
virtual void te::ws::core::CurlWrapper::setTaskMessage ( const std::string &  taskMessage)
virtual

This method sets the message that will be used on Progress Bar when this object is downloading some file.

Parameters
taskMessagenew message.
virtual void te::ws::core::CurlWrapper::setUsername ( const std::string &  username)
virtual

Sets the user name that will be used when an athentication method is set.

Parameters
username

Member Data Documentation

std::unique_ptr<Impl> te::ws::core::CurlWrapper::m_pimpl
private

Definition at line 196 of file CurlWrapper.h.


The documentation for this class was generated from the following file: