Host subcomponent from an authority component of a URI reference. More...
#include <uri.hpp>
Inheritance diagram for UPnPsdk::CHost:
Collaboration diagram for UPnPsdk::CHost:Public Member Functions | |
| CHost (std::string_view a_uri_sv) | |
| Initialize the host subcomponent. | |
Public Member Functions inherited from UPnPsdk::CComponent | |
| STATE | state () const |
| Get state of the component. | |
| const std::string & | str () const |
| Get the string of the component. | |
Additional Inherited Members | |
Public Types inherited from UPnPsdk::CComponent | |
| enum struct | STATE { undef , empty , avail } |
| Defines the possible states of a URI component. More... | |
Protected Attributes inherited from UPnPsdk::CComponent | |
| STATE | m_state {STATE::undef} |
| Current state of the component. | |
| std::string | m_component |
| Name of the component. | |
Host subcomponent from an authority component of a URI reference.
With interpreting section RFC3986_3.2.2. DNS name resolution is not performed for registered names.
Note beside other things from that RFC:
URI references in information retrieval systems are designed to be late-binding: the result of an access is generally determined when it is accessed and may vary over time or due to other aspects of the interaction. These references are created in order to be used in the future: what is being identified is not some specific result that was obtained in the past, but rather some characteristic that is expected to be true for future results.
Registered name pattern are only checked to be syntactical correct. Validity will be verified when accessing the resource. This speeds up URI reference parsing a lot.
| UPnPsdk::CHost::CHost | ( | std::string_view | a_uri_sv | ) |
Initialize the host subcomponent.
| std::invalid_argument | if [URI reference](glossary_URIref) with invalid host address or host name pattern is detected. No DNS lookup is performed. |
| [in] | a_uri_sv | Input URI string |