<commit_before>#include <uri.hpp>
#include <iostream>

using namespace uri;

///////////////////////////////////////////////////////////////////////////////
const URI::Span_t URI::zero_span_;

///////////////////////////////////////////////////////////////////////////////
URI::URI(const char* uri)
  : URI{std::string{uri}}
{}

///////////////////////////////////////////////////////////////////////////////
URI::URI(const std::string& uri)
  : uri_str_{uri}
  , port_{}
{
  parse(uri_str_);
  port_ = port_str_.begin ? static_cast<uint16_t>(std::stoi(port_str())) : 0;
}

///////////////////////////////////////////////////////////////////////////////
std::string URI::port_str() const {
  return uri_str_.substr(port_str_.begin, port_str_.end);
}

///////////////////////////////////////////////////////////////////////////////<commit_msg>Added implementation for std::string URI::host()<commit_after>#include <uri.hpp>
#include <iostream>

using namespace uri;

///////////////////////////////////////////////////////////////////////////////
const URI::Span_t URI::zero_span_;

///////////////////////////////////////////////////////////////////////////////
URI::URI(const char* uri)
  : URI{std::string{uri}}
{}

///////////////////////////////////////////////////////////////////////////////
URI::URI(const std::string& uri)
  : uri_str_{uri}
  , port_{}
{
  parse(uri_str_);
  port_ = port_str_.begin ? static_cast<uint16_t>(std::stoi(port_str())) : 0;
}

///////////////////////////////////////////////////////////////////////////////
std::string URI::host() const {
  return uri_str_.substr(host_.begin, host_.end);
}

///////////////////////////////////////////////////////////////////////////////
std::string URI::port_str() const {
  return uri_str_.substr(port_str_.begin, port_str_.end);
}

///////////////////////////////////////////////////////////////////////////////
{'fraction_non_alphanumeric': 0.5552016985138004, 'fraction_numerical': 0.0031847133757961785, 'mean_word_length': 0.8390243902439024, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7502884', 'n_tokens_mistral': 416, 'n_tokens_neox': 411, 'n_words': 70}