51 #include "../general/util.h"
57 uri(
const std::string& url_s) {
60 uri(
const char url_c[]) {
63 const std::string&
protocol()
const {
return protocol_; }
64 const std::string&
host()
const {
return host_; }
65 const std::string&
path()
const {
return path_; }
70 void parse(
const std::string& url_s) {
72 std::size_t prot_end = url_s.find(
"://");
73 protocol_ = url_s.substr(0,prot_end);
74 std::size_t host_end = url_s.find(
"/",prot_end+3);
75 host_ = url_s.substr(prot_end+3,host_end-prot_end-3);
76 path_ = url_s.substr(host_end+1);
78 std::transform(protocol_.begin(), protocol_.end(), protocol_.begin(), ::tolower);
79 std::transform(host_.begin(), host_.end(), host_.begin(), ::tolower);
82 std::string protocol_, host_, path_;
uri(const uri &another)=delete
uri(const char url_c[])
Definition: lib_uri.h:60
const std::string & protocol() const
Definition: lib_uri.h:63
uri(const std::string &url_s)
Definition: lib_uri.h:57
const std::string & host() const
Definition: lib_uri.h:64
const std::string & path() const
Definition: lib_uri.h:65
uri & operator=(const uri &another)=delete