| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "remoting/host/dns_blackhole_checker.h" | 5 #include "remoting/host/dns_blackhole_checker.h" | 
| 6 | 6 | 
| 7 #include "net/url_request/url_fetcher.h" | 7 #include "net/url_request/url_fetcher.h" | 
| 8 #include "net/url_request/url_request_context_getter.h" | 8 #include "net/url_request/url_request_context_getter.h" | 
| 9 #include "remoting/base/logging.h" | 9 #include "remoting/base/logging.h" | 
| 10 #include "url/gurl.h" | 10 #include "url/gurl.h" | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
| 32 // CheckStatus(). | 32 // CheckStatus(). | 
| 33 void DnsBlackholeChecker::OnURLFetchComplete(const net::URLFetcher* source) { | 33 void DnsBlackholeChecker::OnURLFetchComplete(const net::URLFetcher* source) { | 
| 34   int response = source->GetResponseCode(); | 34   int response = source->GetResponseCode(); | 
| 35   bool allow = false; | 35   bool allow = false; | 
| 36   if (source->GetResponseCode() == 200) { | 36   if (source->GetResponseCode() == 200) { | 
| 37     HOST_LOG << "Successfully connected to host talkgadget."; | 37     HOST_LOG << "Successfully connected to host talkgadget."; | 
| 38     allow = true; | 38     allow = true; | 
| 39   } else { | 39   } else { | 
| 40     HOST_LOG << "Unable to connect to host talkgadget (" << response << ")"; | 40     HOST_LOG << "Unable to connect to host talkgadget (" << response << ")"; | 
| 41   } | 41   } | 
| 42   url_fetcher_.reset(NULL); | 42   url_fetcher_.reset(nullptr); | 
| 43   callback_.Run(allow); | 43   callback_.Run(allow); | 
| 44   callback_.Reset(); | 44   callback_.Reset(); | 
| 45 } | 45 } | 
| 46 | 46 | 
| 47 void DnsBlackholeChecker::CheckForDnsBlackhole( | 47 void DnsBlackholeChecker::CheckForDnsBlackhole( | 
| 48     const base::Callback<void(bool)>& callback) { | 48     const base::Callback<void(bool)>& callback) { | 
| 49   // Make sure we're not currently in the middle of a connection check. | 49   // Make sure we're not currently in the middle of a connection check. | 
| 50   if (!url_fetcher_.get()) { | 50   if (!url_fetcher_.get()) { | 
| 51     DCHECK(callback_.is_null()); | 51     DCHECK(callback_.is_null()); | 
| 52     callback_ = callback; | 52     callback_ = callback; | 
| 53     std::string talkgadget_url("https://"); | 53     std::string talkgadget_url("https://"); | 
| 54     if (talkgadget_prefix_.empty()) { | 54     if (talkgadget_prefix_.empty()) { | 
| 55       talkgadget_url += kDefaultHostTalkGadgetPrefix; | 55       talkgadget_url += kDefaultHostTalkGadgetPrefix; | 
| 56     } else { | 56     } else { | 
| 57       talkgadget_url += talkgadget_prefix_; | 57       talkgadget_url += talkgadget_prefix_; | 
| 58     } | 58     } | 
| 59     talkgadget_url += kTalkGadgetUrl; | 59     talkgadget_url += kTalkGadgetUrl; | 
| 60     HOST_LOG << "Verifying connection to " << talkgadget_url; | 60     HOST_LOG << "Verifying connection to " << talkgadget_url; | 
| 61     url_fetcher_.reset(net::URLFetcher::Create(GURL(talkgadget_url), | 61     url_fetcher_.reset(net::URLFetcher::Create(GURL(talkgadget_url), | 
| 62                                                net::URLFetcher::GET, this)); | 62                                                net::URLFetcher::GET, this)); | 
| 63     url_fetcher_->SetRequestContext(url_request_context_getter_.get()); | 63     url_fetcher_->SetRequestContext(url_request_context_getter_.get()); | 
| 64     url_fetcher_->Start(); | 64     url_fetcher_->Start(); | 
| 65   } else { | 65   } else { | 
| 66     HOST_LOG << "Pending connection check"; | 66     HOST_LOG << "Pending connection check"; | 
| 67   } | 67   } | 
| 68 } | 68 } | 
| 69 | 69 | 
| 70 }  // namespace remoting | 70 }  // namespace remoting | 
| OLD | NEW | 
|---|