28#ifndef _bes_http_url_HH_
29#define _bes_http_url_HH_ 1
38class EffectiveUrlCache;
43 std::string d_source_url_str;
44 std::string d_protocol;
48 std::map<std::string, std::vector<std::string> * > d_query_kvp;
50 std::chrono::system_clock::time_point d_ingest_time;
66 d_ingest_time(std::chrono::system_clock::now()),
69 explicit url(
const std::string &url_s,
bool trusted=
false) :
70 d_source_url_str(url_s),
75 d_ingest_time(std::chrono::system_clock::now()),
81 d_source_url_str = src_url.d_source_url_str;
82 d_protocol = src_url.d_protocol;
83 d_host = src_url.d_host;
84 d_path = src_url.d_path;
85 d_query = src_url.d_query;
86 d_ingest_time = src_url.d_ingest_time;
87 d_trusted = src_url.d_trusted;
90 explicit url(
const std::shared_ptr<http::url> &source_url){
91 d_source_url_str = source_url->d_source_url_str;
92 d_protocol = source_url->d_protocol;
93 d_host = source_url->d_host;
94 d_path = source_url->d_path;
95 d_query = source_url->d_query;
96 d_ingest_time = source_url->d_ingest_time;
97 d_trusted = source_url->d_trusted;
100 explicit url(
const std::shared_ptr<http::url> &source_url,
bool trusted){
101 d_source_url_str = source_url->d_source_url_str;
102 d_protocol = source_url->d_protocol;
103 d_host = source_url->d_host;
104 d_path = source_url->d_path;
105 d_query = source_url->d_query;
106 d_ingest_time = source_url->d_ingest_time;
112 virtual std::string str()
const {
return d_source_url_str; }
114 virtual std::string protocol()
const {
return d_protocol; }
116 virtual std::string host()
const {
return d_host; }
118 virtual std::string path()
const {
return d_path; }
120 virtual std::string query()
const {
return d_query; }
122 virtual std::time_t ingest_time()
const {
123 return std::chrono::system_clock::to_time_t(d_ingest_time);
126 virtual void set_ingest_time(
const std::time_t &itime){
127 d_ingest_time = std::chrono::system_clock::from_time_t(itime);
134 virtual bool is_trusted() {
return d_trusted; };
136 virtual std::string
dump();
virtual void query_parameter_values(const std::string &key, std::vector< std::string > &values) const
virtual std::string query_parameter_value(const std::string &key) const
virtual std::string dump()
virtual bool is_expired()
utility class for the HTTP catalog module