Ignore negative cache in getWebPageInstantView.
GitOrigin-RevId: 3d4b5f4db209e6c82ed576360ef5867f2c85b9a7
This commit is contained in:
parent
8fdb19e06e
commit
8cb1a682cc
@ -1883,7 +1883,8 @@ class GetWebPageInstantViewRequest : public RequestActor<> {
|
|||||||
WebPageId web_page_id_;
|
WebPageId web_page_id_;
|
||||||
|
|
||||||
void do_run(Promise<Unit> &&promise) override {
|
void do_run(Promise<Unit> &&promise) override {
|
||||||
web_page_id_ = td->web_pages_manager_->get_web_page_instant_view(url_, force_full_, std::move(promise));
|
web_page_id_ =
|
||||||
|
td->web_pages_manager_->get_web_page_instant_view(url_, force_full_, get_tries() < 3, std::move(promise));
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_send_result() override {
|
void do_send_result() override {
|
||||||
|
@ -1733,10 +1733,16 @@ tl_object_ptr<td_api::webPage> WebPagesManager::get_web_page_preview_result(int6
|
|||||||
return get_web_page_object(web_page_id);
|
return get_web_page_object(web_page_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
WebPageId WebPagesManager::get_web_page_instant_view(const string &url, bool force_full, Promise<Unit> &&promise) {
|
WebPageId WebPagesManager::get_web_page_instant_view(const string &url, bool force_full, bool force,
|
||||||
|
Promise<Unit> &&promise) {
|
||||||
LOG(INFO) << "Trying to get web page instant view for the url \"" << url << '"';
|
LOG(INFO) << "Trying to get web page instant view for the url \"" << url << '"';
|
||||||
auto it = url_to_web_page_id_.find(url);
|
auto it = url_to_web_page_id_.find(url);
|
||||||
if (it != url_to_web_page_id_.end()) {
|
if (it != url_to_web_page_id_.end()) {
|
||||||
|
if (it->second == WebPageId() && !force) {
|
||||||
|
// ignore negative caching
|
||||||
|
reload_web_page_by_url(url, std::move(promise));
|
||||||
|
return WebPageId();
|
||||||
|
}
|
||||||
return get_web_page_instant_view(it->second, force_full, std::move(promise));
|
return get_web_page_instant_view(it->second, force_full, std::move(promise));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ class WebPagesManager : public Actor {
|
|||||||
|
|
||||||
tl_object_ptr<td_api::webPage> get_web_page_preview_result(int64 request_id);
|
tl_object_ptr<td_api::webPage> get_web_page_preview_result(int64 request_id);
|
||||||
|
|
||||||
WebPageId get_web_page_instant_view(const string &url, bool force_full, Promise<Unit> &&promise);
|
WebPageId get_web_page_instant_view(const string &url, bool force_full, bool force, Promise<Unit> &&promise);
|
||||||
|
|
||||||
WebPageId get_web_page_by_url(const string &url) const;
|
WebPageId get_web_page_by_url(const string &url) const;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user