MXS-2446 Provide access to used urls
Makes it possible to later verify that results are for the urls one expects them to be.
This commit is contained in:
@ -172,6 +172,8 @@ public:
|
|||||||
virtual long wait_no_more_than() const = 0;
|
virtual long wait_no_more_than() const = 0;
|
||||||
|
|
||||||
virtual const std::vector<Result>& results() const = 0;
|
virtual const std::vector<Result>& results() const = 0;
|
||||||
|
|
||||||
|
virtual const std::vector<std::string>& urls() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -258,6 +260,16 @@ public:
|
|||||||
return m_sImp->results();
|
return m_sImp->results();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The URLs the async operation was invoked with.
|
||||||
|
*
|
||||||
|
* @return Vector of urls.
|
||||||
|
*/
|
||||||
|
const std::vector<std::string>& urls() const
|
||||||
|
{
|
||||||
|
return m_sImp->urls();
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Async(const std::shared_ptr<Imp>& sImp)
|
Async(const std::shared_ptr<Imp>& sImp)
|
||||||
: m_sImp(sImp)
|
: m_sImp(sImp)
|
||||||
|
|||||||
@ -197,14 +197,20 @@ public:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::vector<Result>& results() const
|
const vector<Result>& results() const
|
||||||
{
|
{
|
||||||
return m_results;
|
return m_results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const vector<string>& urls() const
|
||||||
|
{
|
||||||
|
return m_urls;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Async::status_t m_status;
|
Async::status_t m_status;
|
||||||
vector<Result> m_results;
|
vector<Result> m_results;
|
||||||
|
vector<string> m_urls;
|
||||||
};
|
};
|
||||||
|
|
||||||
class HttpImp : public Async::Imp
|
class HttpImp : public Async::Imp
|
||||||
@ -248,6 +254,8 @@ public:
|
|||||||
{
|
{
|
||||||
mxb_assert(m_status == Async::ERROR);
|
mxb_assert(m_status == Async::ERROR);
|
||||||
|
|
||||||
|
m_urls = urls;
|
||||||
|
|
||||||
m_results.reserve(urls.size());
|
m_results.reserve(urls.size());
|
||||||
m_errbufs.reserve(urls.size());
|
m_errbufs.reserve(urls.size());
|
||||||
|
|
||||||
@ -417,11 +425,16 @@ public:
|
|||||||
return m_wait_no_more_than;
|
return m_wait_no_more_than;
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::vector<Result>& results() const
|
const vector<Result>& results() const
|
||||||
{
|
{
|
||||||
return m_results;
|
return m_results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const vector<string>& urls() const
|
||||||
|
{
|
||||||
|
return m_urls;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void update_timeout()
|
void update_timeout()
|
||||||
{
|
{
|
||||||
@ -441,6 +454,7 @@ private:
|
|||||||
unordered_map<CURL*, Context> m_curls;
|
unordered_map<CURL*, Context> m_curls;
|
||||||
int m_still_running;
|
int m_still_running;
|
||||||
long m_wait_no_more_than;
|
long m_wait_no_more_than;
|
||||||
|
vector<string> m_urls;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user