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

Side by Side Diff: chrome/browser/google_apis/drive_api_requests.cc

Issue 23575004: Refactor CreateDiretoryRequest. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
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 "chrome/browser/google_apis/drive_api_requests.h" 5 #include "chrome/browser/google_apis/drive_api_requests.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 url_generator_(url_generator) { 127 url_generator_(url_generator) {
128 DCHECK(!callback.is_null()); 128 DCHECK(!callback.is_null());
129 } 129 }
130 130
131 FilesGetRequest::~FilesGetRequest() {} 131 FilesGetRequest::~FilesGetRequest() {}
132 132
133 GURL FilesGetRequest::GetURL() const { 133 GURL FilesGetRequest::GetURL() const {
134 return url_generator_.GetFilesGetUrl(file_id_); 134 return url_generator_.GetFilesGetUrl(file_id_);
135 } 135 }
136 136
137 //============================ FilesInsertRequest ============================
138
139 FilesInsertRequest::FilesInsertRequest(
140 RequestSender* sender,
141 const DriveApiUrlGenerator& url_generator,
142 const FileResourceCallback& callback)
143 : GetDataRequest(sender,
144 base::Bind(&ParseJsonAndRun<FileResource>, callback)),
145 url_generator_(url_generator) {
146 DCHECK(!callback.is_null());
147 }
148
149 FilesInsertRequest::~FilesInsertRequest() {}
150
151 net::URLFetcher::RequestType FilesInsertRequest::GetRequestType() const {
152 return net::URLFetcher::POST;
153 }
154
155 GURL FilesInsertRequest::GetURL() const {
156 return url_generator_.GetFilesInsertUrl();
157 }
158
159 bool FilesInsertRequest::GetContentData(std::string* upload_content_type,
160 std::string* upload_content) {
161 *upload_content_type = kContentTypeApplicationJson;
162
163 base::DictionaryValue root;
164
165 if (!mime_type_.empty())
166 root.SetString("mimeType", mime_type_);
167
168 if (!parents_.empty()) {
169 base::ListValue* parents_value = new base::ListValue;
170 for (size_t i = 0; i < parents_.size(); ++i) {
171 base::DictionaryValue* parent = new base::DictionaryValue;
172 parent->SetString("id", parents_[i]);
173 parents_value->Append(parent);
174 }
175 root.Set("parents", parents_value);
176 }
177
178 if (!title_.empty())
179 root.SetString("title", title_);
180
181 base::JSONWriter::Write(&root, upload_content);
182 DVLOG(1) << "FilesInsert data: " << *upload_content_type << ", ["
183 << *upload_content << "]";
184 return true;
185 }
186
137 //============================== FilesPatchRequest ============================ 187 //============================== FilesPatchRequest ============================
138 188
139 FilesPatchRequest::FilesPatchRequest( 189 FilesPatchRequest::FilesPatchRequest(
140 RequestSender* sender, 190 RequestSender* sender,
141 const DriveApiUrlGenerator& url_generator, 191 const DriveApiUrlGenerator& url_generator,
142 const FileResourceCallback& callback) 192 const FileResourceCallback& callback)
143 : GetDataRequest(sender, 193 : GetDataRequest(sender,
144 base::Bind(&ParseJsonAndRun<FileResource>, callback)), 194 base::Bind(&ParseJsonAndRun<FileResource>, callback)),
145 url_generator_(url_generator), 195 url_generator_(url_generator),
146 set_modified_date_(false), 196 set_modified_date_(false),
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 url_(url) { 397 url_(url) {
348 DCHECK(!callback.is_null()); 398 DCHECK(!callback.is_null());
349 } 399 }
350 400
351 ContinueGetFileListRequest::~ContinueGetFileListRequest() {} 401 ContinueGetFileListRequest::~ContinueGetFileListRequest() {}
352 402
353 GURL ContinueGetFileListRequest::GetURL() const { 403 GURL ContinueGetFileListRequest::GetURL() const {
354 return url_; 404 return url_;
355 } 405 }
356 406
357 //========================== CreateDirectoryRequest ==========================
358
359 CreateDirectoryRequest::CreateDirectoryRequest(
360 RequestSender* sender,
361 const DriveApiUrlGenerator& url_generator,
362 const std::string& parent_resource_id,
363 const std::string& directory_title,
364 const FileResourceCallback& callback)
365 : GetDataRequest(sender,
366 base::Bind(&ParseJsonAndRun<FileResource>, callback)),
367 url_generator_(url_generator),
368 parent_resource_id_(parent_resource_id),
369 directory_title_(directory_title) {
370 DCHECK(!callback.is_null());
371 DCHECK(!parent_resource_id_.empty());
372 DCHECK(!directory_title_.empty());
373 }
374
375 CreateDirectoryRequest::~CreateDirectoryRequest() {}
376
377 GURL CreateDirectoryRequest::GetURL() const {
378 return url_generator_.GetFilesUrl();
379 }
380
381 net::URLFetcher::RequestType CreateDirectoryRequest::GetRequestType() const {
382 return net::URLFetcher::POST;
383 }
384
385 bool CreateDirectoryRequest::GetContentData(std::string* upload_content_type,
386 std::string* upload_content) {
387 *upload_content_type = kContentTypeApplicationJson;
388
389 base::DictionaryValue root;
390 root.SetString("title", directory_title_);
391 {
392 base::DictionaryValue* parent_value = new base::DictionaryValue;
393 parent_value->SetString("id", parent_resource_id_);
394 base::ListValue* parent_list_value = new base::ListValue;
395 parent_list_value->Append(parent_value);
396 root.Set("parents", parent_list_value);
397 }
398 root.SetString("mimeType", kDirectoryMimeType);
399
400 base::JSONWriter::Write(&root, upload_content);
401
402 DVLOG(1) << "CreateDirectory data: " << *upload_content_type << ", ["
403 << *upload_content << "]";
404 return true;
405 }
406
407 //=========================== TouchResourceRequest =========================== 407 //=========================== TouchResourceRequest ===========================
408 408
409 TouchResourceRequest::TouchResourceRequest( 409 TouchResourceRequest::TouchResourceRequest(
410 RequestSender* sender, 410 RequestSender* sender,
411 const DriveApiUrlGenerator& url_generator, 411 const DriveApiUrlGenerator& url_generator,
412 const std::string& resource_id, 412 const std::string& resource_id,
413 const base::Time& modified_date, 413 const base::Time& modified_date,
414 const base::Time& last_viewed_by_me_date, 414 const base::Time& last_viewed_by_me_date,
415 const FileResourceCallback& callback) 415 const FileResourceCallback& callback)
416 : GetDataRequest(sender, 416 : GetDataRequest(sender,
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
779 progress_callback, 779 progress_callback,
780 url_generator.GenerateDownloadFileUrl(resource_id), 780 url_generator.GenerateDownloadFileUrl(resource_id),
781 output_file_path) { 781 output_file_path) {
782 } 782 }
783 783
784 DownloadFileRequest::~DownloadFileRequest() { 784 DownloadFileRequest::~DownloadFileRequest() {
785 } 785 }
786 786
787 } // namespace drive 787 } // namespace drive
788 } // namespace google_apis 788 } // namespace google_apis
OLDNEW
« no previous file with comments | « chrome/browser/google_apis/drive_api_requests.h ('k') | chrome/browser/google_apis/drive_api_requests_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698