Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(521)

Side by Side Diff: shell/application_manager/network_fetcher.cc

Issue 951643002: Register application connections under their post-redirect URL. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: cleanup Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "shell/application_manager/network_fetcher.h" 5 #include "shell/application_manager/network_fetcher.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file.h" 8 #include "base/files/file.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 19 matching lines...) Expand all
30 : Fetcher(loader_callback), 30 : Fetcher(loader_callback),
31 disable_cache_(false), 31 disable_cache_(false),
32 url_(url), 32 url_(url),
33 weak_ptr_factory_(this) { 33 weak_ptr_factory_(this) {
34 StartNetworkRequest(url, network_service); 34 StartNetworkRequest(url, network_service);
35 } 35 }
36 36
37 NetworkFetcher::~NetworkFetcher() { 37 NetworkFetcher::~NetworkFetcher() {
38 } 38 }
39 39
40 const GURL& NetworkFetcher::GetURL() const {
41 return url_;
42 }
43
44 GURL NetworkFetcher::GetRedirectURL() const {
45 if (!response_)
46 return GURL::EmptyGURL();
47
48 if (response_->redirect_url.is_null())
49 return GURL::EmptyGURL();
50
51 return GURL(response_->redirect_url);
52 }
53
40 URLResponsePtr NetworkFetcher::AsURLResponse(base::TaskRunner* task_runner, 54 URLResponsePtr NetworkFetcher::AsURLResponse(base::TaskRunner* task_runner,
41 uint32_t skip) { 55 uint32_t skip) {
42 if (skip != 0) { 56 if (skip != 0) {
43 MojoResult result = ReadDataRaw( 57 MojoResult result = ReadDataRaw(
44 response_->body.get(), nullptr, &skip, 58 response_->body.get(), nullptr, &skip,
45 MOJO_READ_DATA_FLAG_ALL_OR_NONE | MOJO_READ_DATA_FLAG_DISCARD); 59 MOJO_READ_DATA_FLAG_ALL_OR_NONE | MOJO_READ_DATA_FLAG_DISCARD);
46 DCHECK_EQ(result, MOJO_RESULT_OK); 60 DCHECK_EQ(result, MOJO_RESULT_OK);
47 } 61 }
48 return response_.Pass(); 62 return response_.Pass();
49 } 63 }
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 174
161 bool NetworkFetcher::PeekFirstLine(std::string* line) { 175 bool NetworkFetcher::PeekFirstLine(std::string* line) {
162 return shell::BlockingPeekLine(response_->body.get(), line, kMaxShebangLength, 176 return shell::BlockingPeekLine(response_->body.get(), line, kMaxShebangLength,
163 kPeekTimeout); 177 kPeekTimeout);
164 } 178 }
165 179
166 void NetworkFetcher::StartNetworkRequest(const GURL& url, 180 void NetworkFetcher::StartNetworkRequest(const GURL& url,
167 NetworkService* network_service) { 181 NetworkService* network_service) {
168 URLRequestPtr request(URLRequest::New()); 182 URLRequestPtr request(URLRequest::New());
169 request->url = String::From(url); 183 request->url = String::From(url);
170 request->auto_follow_redirects = true; 184 request->auto_follow_redirects = false;
171 request->bypass_cache = disable_cache_; 185 request->bypass_cache = disable_cache_;
172 186
173 network_service->CreateURLLoader(GetProxy(&url_loader_)); 187 network_service->CreateURLLoader(GetProxy(&url_loader_));
174 url_loader_->Start(request.Pass(), 188 url_loader_->Start(request.Pass(),
175 base::Bind(&NetworkFetcher::OnLoadComplete, 189 base::Bind(&NetworkFetcher::OnLoadComplete,
176 weak_ptr_factory_.GetWeakPtr())); 190 weak_ptr_factory_.GetWeakPtr()));
177 } 191 }
178 192
179 void NetworkFetcher::OnLoadComplete(URLResponsePtr response) { 193 void NetworkFetcher::OnLoadComplete(URLResponsePtr response) {
180 if (response->error) { 194 if (response->error) {
(...skipping 10 matching lines...) Expand all
191 << "while fetching " << response->url; 205 << "while fetching " << response->url;
192 loader_callback_.Run(make_scoped_ptr<Fetcher>(NULL)); 206 loader_callback_.Run(make_scoped_ptr<Fetcher>(NULL));
193 return; 207 return;
194 } 208 }
195 209
196 response_ = response.Pass(); 210 response_ = response.Pass();
197 loader_callback_.Run(make_scoped_ptr(this)); 211 loader_callback_.Run(make_scoped_ptr(this));
198 } 212 }
199 213
200 } // namespace mojo 214 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698