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

Unified Diff: google_apis/drive/drive_api_requests.cc

Issue 139153006: drive: Add metadata parameters to InitiateUpload* methods (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix nits Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « google_apis/drive/drive_api_requests.h ('k') | google_apis/drive/drive_api_requests_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: google_apis/drive/drive_api_requests.cc
diff --git a/google_apis/drive/drive_api_requests.cc b/google_apis/drive/drive_api_requests.cc
index 79ef01a34430fc07e8d992d44205b3696976572e..25d7be1f54099323c6434f5d9d3c62d9ba46fdc5 100644
--- a/google_apis/drive/drive_api_requests.cc
+++ b/google_apis/drive/drive_api_requests.cc
@@ -113,6 +113,15 @@ void ParseFileResourceWithUploadRangeAndRun(
callback.Run(response, file_resource.Pass());
}
+// Creates a Parents value which can be used as a part of request body.
+scoped_ptr<base::DictionaryValue> CreateParentValue(
+ const std::string& file_id) {
+ scoped_ptr<base::DictionaryValue> parent(new base::DictionaryValue);
+ parent->SetString("kind", kParentLinkKind);
+ parent->SetString("id", file_id);
+ return parent.Pass();
+}
+
} // namespace
namespace drive {
@@ -602,7 +611,7 @@ InitiateUploadNewFileRequest::InitiateUploadNewFileRequest(
InitiateUploadNewFileRequest::~InitiateUploadNewFileRequest() {}
GURL InitiateUploadNewFileRequest::GetURL() const {
- return url_generator_.GetInitiateUploadNewFileUrl();
+ return url_generator_.GetInitiateUploadNewFileUrl(!modified_date_.is_null());
}
net::URLFetcher::RequestType
@@ -619,15 +628,16 @@ bool InitiateUploadNewFileRequest::GetContentData(
root.SetString("title", title_);
// Fill parent link.
- {
- scoped_ptr<base::DictionaryValue> parent(new base::DictionaryValue);
- parent->SetString("kind", kParentLinkKind);
- parent->SetString("id", parent_resource_id_);
+ scoped_ptr<base::ListValue> parents(new base::ListValue);
+ parents->Append(CreateParentValue(parent_resource_id_).release());
+ root.Set("parents", parents.release());
- scoped_ptr<base::ListValue> parents(new base::ListValue);
- parents->Append(parent.release());
+ if (!modified_date_.is_null())
+ root.SetString("modifiedDate", util::FormatTimeAsString(modified_date_));
- root.Set("parents", parents.release());
+ if (!last_viewed_by_me_date_.is_null()) {
+ root.SetString("lastViewedByMeDate",
+ util::FormatTimeAsString(last_viewed_by_me_date_));
}
base::JSONWriter::Write(&root, upload_content);
@@ -659,7 +669,8 @@ InitiateUploadExistingFileRequest::InitiateUploadExistingFileRequest(
InitiateUploadExistingFileRequest::~InitiateUploadExistingFileRequest() {}
GURL InitiateUploadExistingFileRequest::GetURL() const {
- return url_generator_.GetInitiateUploadExistingFileUrl(resource_id_);
+ return url_generator_.GetInitiateUploadExistingFileUrl(
+ resource_id_, !modified_date_.is_null());
}
net::URLFetcher::RequestType
@@ -675,6 +686,37 @@ InitiateUploadExistingFileRequest::GetExtraRequestHeaders() const {
return headers;
}
+bool InitiateUploadExistingFileRequest::GetContentData(
+ std::string* upload_content_type,
+ std::string* upload_content) {
+ base::DictionaryValue root;
+ if (!parent_resource_id_.empty()) {
+ scoped_ptr<base::ListValue> parents(new base::ListValue);
+ parents->Append(CreateParentValue(parent_resource_id_).release());
+ root.Set("parents", parents.release());
+ }
+
+ if (!title_.empty())
+ root.SetString("title", title_);
+
+ if (!modified_date_.is_null())
+ root.SetString("modifiedDate", util::FormatTimeAsString(modified_date_));
+
+ if (!last_viewed_by_me_date_.is_null()) {
+ root.SetString("lastViewedByMeDate",
+ util::FormatTimeAsString(last_viewed_by_me_date_));
+ }
+
+ if (root.empty())
+ return false;
+
+ *upload_content_type = kContentTypeApplicationJson;
+ base::JSONWriter::Write(&root, upload_content);
+ DVLOG(1) << "InitiateUploadExistingFile data: " << *upload_content_type
+ << ", [" << *upload_content << "]";
+ return true;
+}
+
//============================ ResumeUploadRequest ===========================
ResumeUploadRequest::ResumeUploadRequest(
« no previous file with comments | « google_apis/drive/drive_api_requests.h ('k') | google_apis/drive/drive_api_requests_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698