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 "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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |