summaryrefslogtreecommitdiffhomepage
path: root/dev/lib/net/url.hpp
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-19 03:42:46 +0100
committerGitHub <noreply@github.com>2025-11-19 03:42:46 +0100
commit3bc2fca2c9beff13586b8bf3089ce439acb09de1 (patch)
tree4cf13eb975ef8a133ca0b28de29814c94f7daccc /dev/lib/net/url.hpp
parentc9fd682f3662e0eec09de49a36a4ea199656da34 (diff)
parentb0292253ca9732b228ef505e3e719ae05c07c10c (diff)
Merge pull request #12 from amlel-el-mahrouss/develop
New OCL Distrib helpers.
Diffstat (limited to 'dev/lib/net/url.hpp')
-rw-r--r--dev/lib/net/url.hpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/dev/lib/net/url.hpp b/dev/lib/net/url.hpp
index b77e790..e4eca2a 100644
--- a/dev/lib/net/url.hpp
+++ b/dev/lib/net/url.hpp
@@ -33,6 +33,7 @@ namespace ocl::net
{
url_protocol m_protocol_{url_protocol::invalid};
std::basic_stringstream<char_type> m_ss_{};
+ std::basic_string<char_type> m_port_{""};
public:
explicit basic_url(const std::basic_string<char_type>& protocol)
@@ -65,6 +66,12 @@ namespace ocl::net
if (in.empty())
return *this;
+ if (in.starts_with(":"))
+ {
+ m_port_ = in.substr(1);
+ return *this;
+ }
+
m_ss_ += in;
return *this;
}
@@ -81,14 +88,21 @@ namespace ocl::net
}
public:
- bool protocol_exists()
+ auto protocol() const noexcept
{
- return this->m_protocol_ != url_protocol::bad || this->m_protocol_ != url_protocol::invalid;
+ return this->m_protocol_;
}
- bool is_valid()
+ auto port() const noexcept
{
- return m_ss_.size() > 0 && this->protocol_exists();
+ return this->m_port_;
+ }
+
+ auto is_valid() const noexcept
+ {
+ return m_ss_.size() > 0 && this->m_protocol_ != url_protocol::bad || this->m_protocol_ != url_protocol::invalid;
}
};
+
+ using url = basic_url<char>;
} // namespace ocl::net