qi::Url

Reference

qi::Url Class Reference

Introduction

More...

Public Functions

Url()
Url(const std::string& url)
Url(const std::string& url, unsigned short int defaultPort)
Url(const std::string& url, const std::string& defaultProtocol)
Url(const std::string& url, const std::string& defaultProtocol, unsigned short int defaultPort)
~Url()
bool isValid() const
const std::string& str() const
const std::string& protocol() const
bool hasProtocol() const
void setProtocol(const std::string& protocol)
const std::string& host() const
bool hasHost() const
void setHost(const std::string& host)
unsigned short int port() const
bool hasPort() const
void setPort(unsigned short int port)

Detailed Description

qi::Url is an address represented by a protocol, a host and a port. The class isn’t compliant with RFC 3986. qi::Url can parse the following formats:

  • protocol://host:port
  • protocol://host
  • host:port
  • host
  • protocol://:port
  • protocol://
  • :port
  • empty string

This class is copyable.

Function Documentation

qi::Url::Url()

Creates an empty url.

qi::Url::Url(const std::string& url)

Brief:

Parameters:
  • url – The url string, the port and the protocol will be extracted if they’re present.
qi::Url::Url(const std::string& url, unsigned short int defaultPort)

Brief:

Parameters:
  • url – The url string, the port and the protocol will be extracted if they’re present.
  • defaultPort – The port that will be used if no port had been found in the url string.
qi::Url::Url(const std::string& url, const std::string& defaultProtocol)

Brief:

Parameters:
  • url – The url string, the port and the protocol will be extracted if they’re present.
  • defaultProtocol – The protocol that will be used if no protocol had been found in the url string.
qi::Url::Url(const std::string& url, const std::string& defaultProtocol, unsigned short int defaultPort)

Brief:

Parameters:
  • url – The url string, the port and the protocol will be extracted if they’re present.
  • defaultProtocol – The protocol that will be used if no protocol had been found in the url string.
  • defaultPort – The port that will be used if no port had been found in the url string.
qi::Url::~Url()
bool qi::Url::isValid() const

Brief:

Returns:True if the protocol, host and port have been set.
const std::string& qi::Url::str() const

Brief:

Returns:The url string used by the Url class, the port and/or the protocol may have been appended if they had been given in the constructor.
const std::string& qi::Url::protocol() const

Brief:

Returns:The protocol of the url or an empty string if no protocol was set.
bool qi::Url::hasProtocol() const

Brief:

Returns:True if the protocol was set.
void qi::Url::setProtocol(const std::string& protocol)

Sets the protocol to the given protocol identifier (tcp, tcps, udp, ...).

const std::string& qi::Url::host() const

Brief:

Returns:The host part of the url or an empty string if no host part was found.
bool qi::Url::hasHost() const

Brief:

Returns:True if the host was set.
void qi::Url::setHost(const std::string& host)

Sets the host.

unsigned short int qi::Url::port() const

Brief:

Returns:The port of the url, 0 if no port were given.
bool qi::Url::hasPort() const

Brief:

Returns:True if the port was set.
void qi::Url::setPort(unsigned short int port)

Sets the port. You can use 0.