29#ifndef HYRAX_GIT_EFFECTIVEURL_H
30#define HYRAX_GIT_EFFECTIVEURL_H
52 std::vector<std::string> d_response_header_names;
53 std::vector<std::string> d_response_header_values;
56 std::vector<std::string> d_resp_hdr_lines;
62 explicit EffectiveUrl(
const std::string &url_s,
bool trusted=
false) :
http::url(url_s,trusted), d_response_header_names(), d_response_header_values() {};
64 explicit EffectiveUrl(
const std::string &url_s,
const std::vector<std::string> &resp_hdrs,
bool trusted=
false) :
http::url(url_s,trusted) {
73 d_response_header_values = src_url.d_response_header_values;
74 d_response_header_names = src_url.d_response_header_names;
75 d_resp_hdr_lines = src_url.d_resp_hdr_lines;
85 d_response_header_names(),
86 d_response_header_values() {
89 explicit EffectiveUrl(
const std::shared_ptr<http::EffectiveUrl> &source_url):
http::
url(source_url) {
90 d_response_header_values = source_url->d_response_header_values;
91 d_response_header_names = source_url->d_response_header_names;
92 d_resp_hdr_lines = source_url->d_resp_hdr_lines;
95 explicit EffectiveUrl(
const std::shared_ptr<http::EffectiveUrl> &source_url,
bool trusted):
http::url(source_url,trusted) {
96 d_response_header_values = source_url->d_response_header_values;
97 d_response_header_names = source_url->d_response_header_names;
98 d_resp_hdr_lines = source_url->d_resp_hdr_lines;
101 explicit EffectiveUrl(
102 std::shared_ptr<http::url> source_url):
103 http::url(std::move(source_url)),
104 d_response_header_names(),
105 d_response_header_values()
109 virtual ~EffectiveUrl(){ }
113 void get_header(
const std::string &name, std::string &value,
bool &found );
117 std::string
dump()
override;
EffectiveUrl(http::url const &src_url)
std::string dump() override
A string dump of the instance.
bool is_expired() override
Returns true if URL is reusable, false otherwise.
void get_header(const std::string &name, std::string &value, bool &found)
get the value of the named header
EffectiveUrl(EffectiveUrl const &src_url)
void ingest_response_headers(const std::vector< std::string > &resp_hdrs)
Ingests the passed response hedaers.
utility class for the HTTP catalog module