xrootd
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
XrdCl::URL Class Reference

URL representation. More...

#include <XrdClURL.hh>

Public Types

typedef std::map< std::string, std::string > ParamsMap
 

Public Member Functions

 URL ()
 Default constructor. More...
 
 URL (const std::string &url)
 
bool IsValid () const
 Is the url valid. More...
 
bool IsMetalink () const
 Is it a URL to a metalink. More...
 
std::string GetURL () const
 Get the URL. More...
 
std::string GetHostId () const
 Get the host part of the URL (user:password@host:port) More...
 
std::string GetLocation () const
 Get location (protocol://host:port/path) More...
 
const std::string & GetProtocol () const
 Get the protocol. More...
 
void SetProtocol (const std::string &protocol)
 Set protocol. More...
 
const std::string & GetUserName () const
 Get the username. More...
 
void SetUserName (const std::string &userName)
 Set the username. More...
 
const std::string & GetPassword () const
 Get the password. More...
 
void SetPassword (const std::string &password)
 Set the password. More...
 
const std::string & GetHostName () const
 Get the name of the target host. More...
 
void SetHostName (const std::string &hostName)
 Set the host name. More...
 
int GetPort () const
 Get the target port. More...
 
void SetPort (int port)
 
void SetHostPort (const std::string &hostName, int port)
 
const std::string & GetPath () const
 Get the path. More...
 
void SetPath (const std::string &path)
 Set the path. More...
 
std::string GetPathWithParams () const
 Get the path with params. More...
 
const ParamsMapGetParams () const
 Get the URL params. More...
 
std::string GetParamsAsString () const
 Get the URL params as string. More...
 
void SetParams (const std::string &params)
 Set params. More...
 
void SetParams (const ParamsMap &params)
 Set params. More...
 
bool FromString (const std::string &url)
 Parse a string and fill the URL fields. More...
 
void Clear ()
 Clear the url. More...
 

Private Member Functions

bool ParseHostInfo (const std::string hhostInfo)
 
bool ParsePath (const std::string &path)
 
void ComputeHostId ()
 
void ComputeURL ()
 
bool PathEndsWith (const std::string &sufix) const
 

Private Attributes

std::string pHostId
 
std::string pProtocol
 
std::string pUserName
 
std::string pPassword
 
std::string pHostName
 
int pPort
 
std::string pPath
 
ParamsMap pParams
 
std::string pURL
 

Detailed Description

URL representation.

Member Typedef Documentation

◆ ParamsMap

typedef std::map<std::string, std::string> XrdCl::URL::ParamsMap

Map of get params

Constructor & Destructor Documentation

◆ URL() [1/2]

XrdCl::URL::URL ( )

Default constructor.

◆ URL() [2/2]

XrdCl::URL::URL ( const std::string &  url)

Constructor

Parameters
urlan url in format: protocol://user:password@host:port/path?param1=x&param2=y

Member Function Documentation

◆ Clear()

void XrdCl::URL::Clear ( )

Clear the url.

Referenced by SetParams().

◆ ComputeHostId()

void XrdCl::URL::ComputeHostId ( )
private

◆ ComputeURL()

void XrdCl::URL::ComputeURL ( )
private

◆ FromString()

bool XrdCl::URL::FromString ( const std::string &  url)

Parse a string and fill the URL fields.

Referenced by SetParams().

◆ GetHostId()

std::string XrdCl::URL::GetHostId ( ) const
inline

Get the host part of the URL (user:password@host:port)

References GetLocation(), and pHostId.

◆ GetHostName()

const std::string& XrdCl::URL::GetHostName ( ) const
inline

Get the name of the target host.

References pHostName.

◆ GetLocation()

std::string XrdCl::URL::GetLocation ( ) const

Get location (protocol://host:port/path)

Referenced by GetHostId().

◆ GetParams()

const ParamsMap& XrdCl::URL::GetParams ( ) const
inline

Get the URL params.

References GetParamsAsString(), pParams, and SetParams().

◆ GetParamsAsString()

std::string XrdCl::URL::GetParamsAsString ( ) const

Get the URL params as string.

Referenced by GetParams().

◆ GetPassword()

const std::string& XrdCl::URL::GetPassword ( ) const
inline

Get the password.

References pPassword.

◆ GetPath()

const std::string& XrdCl::URL::GetPath ( ) const
inline

Get the path.

References pPath.

◆ GetPathWithParams()

std::string XrdCl::URL::GetPathWithParams ( ) const

Get the path with params.

Referenced by SetPath().

◆ GetPort()

int XrdCl::URL::GetPort ( ) const
inline

Get the target port.

References pPort.

◆ GetProtocol()

const std::string& XrdCl::URL::GetProtocol ( ) const
inline

Get the protocol.

References pProtocol.

◆ GetURL()

std::string XrdCl::URL::GetURL ( ) const
inline

Get the URL.

References pURL.

◆ GetUserName()

const std::string& XrdCl::URL::GetUserName ( ) const
inline

Get the username.

References pUserName.

◆ IsMetalink()

bool XrdCl::URL::IsMetalink ( ) const

Is it a URL to a metalink.

◆ IsValid()

bool XrdCl::URL::IsValid ( ) const

Is the url valid.

◆ ParseHostInfo()

bool XrdCl::URL::ParseHostInfo ( const std::string  hhostInfo)
private

Referenced by SetParams().

◆ ParsePath()

bool XrdCl::URL::ParsePath ( const std::string &  path)
private

Referenced by SetParams().

◆ PathEndsWith()

bool XrdCl::URL::PathEndsWith ( const std::string &  sufix) const
private

Referenced by SetParams().

◆ SetHostName()

void XrdCl::URL::SetHostName ( const std::string &  hostName)
inline

Set the host name.

References ComputeHostId(), ComputeURL(), and pHostName.

◆ SetHostPort()

void XrdCl::URL::SetHostPort ( const std::string &  hostName,
int  port 
)
inline

◆ SetParams() [1/2]

void XrdCl::URL::SetParams ( const std::string &  params)

Set params.

Referenced by GetParams().

◆ SetParams() [2/2]

void XrdCl::URL::SetParams ( const ParamsMap params)
inline

◆ SetPassword()

void XrdCl::URL::SetPassword ( const std::string &  password)
inline

Set the password.

References ComputeURL(), and pPassword.

◆ SetPath()

void XrdCl::URL::SetPath ( const std::string &  path)
inline

Set the path.

References ComputeURL(), GetPathWithParams(), and pPath.

◆ SetPort()

void XrdCl::URL::SetPort ( int  port)
inline

References ComputeHostId(), ComputeURL(), and pPort.

◆ SetProtocol()

void XrdCl::URL::SetProtocol ( const std::string &  protocol)
inline

Set protocol.

References ComputeURL(), and pProtocol.

◆ SetUserName()

void XrdCl::URL::SetUserName ( const std::string &  userName)
inline

Set the username.

References ComputeHostId(), ComputeURL(), and pUserName.

Member Data Documentation

◆ pHostId

std::string XrdCl::URL::pHostId
private

Referenced by GetHostId().

◆ pHostName

std::string XrdCl::URL::pHostName
private

◆ pParams

ParamsMap XrdCl::URL::pParams
private

Referenced by GetParams(), and SetParams().

◆ pPassword

std::string XrdCl::URL::pPassword
private

Referenced by GetPassword(), and SetPassword().

◆ pPath

std::string XrdCl::URL::pPath
private

Referenced by GetPath(), and SetPath().

◆ pPort

int XrdCl::URL::pPort
private

Referenced by GetPort(), SetHostPort(), and SetPort().

◆ pProtocol

std::string XrdCl::URL::pProtocol
private

Referenced by GetProtocol(), and SetProtocol().

◆ pURL

std::string XrdCl::URL::pURL
private

Referenced by GetURL().

◆ pUserName

std::string XrdCl::URL::pUserName
private

Referenced by GetUserName(), and SetUserName().


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