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

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

Issue 96413002: Move c/b/google_apis to google_apis/drive. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/google_apis/drive_api_url_generator.h"
6
7 #include "base/logging.h"
8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/stringprintf.h"
10 #include "net/base/escape.h"
11 #include "net/base/url_util.h"
12
13 namespace google_apis {
14
15 namespace {
16
17 // Hard coded URLs for communication with a google drive server.
18 const char kDriveV2AboutUrl[] = "/drive/v2/about";
19 const char kDriveV2AppsUrl[] = "/drive/v2/apps";
20 const char kDriveV2ChangelistUrl[] = "/drive/v2/changes";
21 const char kDriveV2FilesUrl[] = "/drive/v2/files";
22 const char kDriveV2FileUrlPrefix[] = "/drive/v2/files/";
23 const char kDriveV2ChildrenUrlFormat[] = "/drive/v2/files/%s/children";
24 const char kDriveV2ChildrenUrlForRemovalFormat[] =
25 "/drive/v2/files/%s/children/%s";
26 const char kDriveV2FileCopyUrlFormat[] = "/drive/v2/files/%s/copy";
27 const char kDriveV2FileTrashUrlFormat[] = "/drive/v2/files/%s/trash";
28 const char kDriveV2InitiateUploadNewFileUrl[] = "/upload/drive/v2/files";
29 const char kDriveV2InitiateUploadExistingFileUrlPrefix[] =
30 "/upload/drive/v2/files/";
31
32 GURL AddResumableUploadParam(const GURL& url) {
33 return net::AppendOrReplaceQueryParameter(url, "uploadType", "resumable");
34 }
35
36 } // namespace
37
38 DriveApiUrlGenerator::DriveApiUrlGenerator(const GURL& base_url,
39 const GURL& base_download_url)
40 : base_url_(base_url),
41 base_download_url_(base_download_url) {
42 // Do nothing.
43 }
44
45 DriveApiUrlGenerator::~DriveApiUrlGenerator() {
46 // Do nothing.
47 }
48
49 const char DriveApiUrlGenerator::kBaseUrlForProduction[] =
50 "https://www.googleapis.com";
51 const char DriveApiUrlGenerator::kBaseDownloadUrlForProduction[] =
52 "https://www.googledrive.com/host/";
53
54 GURL DriveApiUrlGenerator::GetAboutGetUrl() const {
55 return base_url_.Resolve(kDriveV2AboutUrl);
56 }
57
58 GURL DriveApiUrlGenerator::GetAppsListUrl() const {
59 return base_url_.Resolve(kDriveV2AppsUrl);
60 }
61
62 GURL DriveApiUrlGenerator::GetFilesGetUrl(const std::string& file_id) const {
63 return base_url_.Resolve(kDriveV2FileUrlPrefix + net::EscapePath(file_id));
64 }
65
66 GURL DriveApiUrlGenerator::GetFilesInsertUrl() const {
67 return base_url_.Resolve(kDriveV2FilesUrl);
68 }
69
70 GURL DriveApiUrlGenerator::GetFilesPatchUrl(const std::string& file_id,
71 bool set_modified_date,
72 bool update_viewed_date) const {
73 GURL url =
74 base_url_.Resolve(kDriveV2FileUrlPrefix + net::EscapePath(file_id));
75
76 // setModifiedDate is "false" by default.
77 if (set_modified_date)
78 url = net::AppendOrReplaceQueryParameter(url, "setModifiedDate", "true");
79
80 // updateViewedDate is "true" by default.
81 if (!update_viewed_date)
82 url = net::AppendOrReplaceQueryParameter(url, "updateViewedDate", "false");
83
84 return url;
85 }
86
87 GURL DriveApiUrlGenerator::GetFilesCopyUrl(const std::string& file_id) const {
88 return base_url_.Resolve(base::StringPrintf(
89 kDriveV2FileCopyUrlFormat, net::EscapePath(file_id).c_str()));
90 }
91
92 GURL DriveApiUrlGenerator::GetFilesListUrl(int max_results,
93 const std::string& page_token,
94 const std::string& q) const {
95 GURL url = base_url_.Resolve(kDriveV2FilesUrl);
96
97 // maxResults is 100 by default.
98 if (max_results != 100) {
99 url = net::AppendOrReplaceQueryParameter(
100 url, "maxResults", base::IntToString(max_results));
101 }
102
103 if (!page_token.empty())
104 url = net::AppendOrReplaceQueryParameter(url, "pageToken", page_token);
105
106 if (!q.empty())
107 url = net::AppendOrReplaceQueryParameter(url, "q", q);
108
109 return url;
110 }
111
112 GURL DriveApiUrlGenerator::GetFilesTrashUrl(const std::string& file_id) const {
113 return base_url_.Resolve(base::StringPrintf(
114 kDriveV2FileTrashUrlFormat, net::EscapePath(file_id).c_str()));
115 }
116
117 GURL DriveApiUrlGenerator::GetChangesListUrl(bool include_deleted,
118 int max_results,
119 const std::string& page_token,
120 int64 start_change_id) const {
121 DCHECK_GE(start_change_id, 0);
122
123 GURL url = base_url_.Resolve(kDriveV2ChangelistUrl);
124
125 // includeDeleted is "true" by default.
126 if (!include_deleted)
127 url = net::AppendOrReplaceQueryParameter(url, "includeDeleted", "false");
128
129 // maxResults is "100" by default.
130 if (max_results != 100) {
131 url = net::AppendOrReplaceQueryParameter(
132 url, "maxResults", base::IntToString(max_results));
133 }
134
135 if (!page_token.empty())
136 url = net::AppendOrReplaceQueryParameter(url, "pageToken", page_token);
137
138 if (start_change_id > 0)
139 url = net::AppendOrReplaceQueryParameter(
140 url, "startChangeId", base::Int64ToString(start_change_id));
141
142 return url;
143 }
144
145 GURL DriveApiUrlGenerator::GetChildrenInsertUrl(
146 const std::string& file_id) const {
147 return base_url_.Resolve(base::StringPrintf(
148 kDriveV2ChildrenUrlFormat, net::EscapePath(file_id).c_str()));
149 }
150
151 GURL DriveApiUrlGenerator::GetChildrenDeleteUrl(
152 const std::string& child_id, const std::string& folder_id) const {
153 return base_url_.Resolve(
154 base::StringPrintf(kDriveV2ChildrenUrlForRemovalFormat,
155 net::EscapePath(folder_id).c_str(),
156 net::EscapePath(child_id).c_str()));
157 }
158
159 GURL DriveApiUrlGenerator::GetInitiateUploadNewFileUrl() const {
160 return AddResumableUploadParam(
161 base_url_.Resolve(kDriveV2InitiateUploadNewFileUrl));
162 }
163
164 GURL DriveApiUrlGenerator::GetInitiateUploadExistingFileUrl(
165 const std::string& resource_id) const {
166 const GURL& url = base_url_.Resolve(
167 kDriveV2InitiateUploadExistingFileUrlPrefix +
168 net::EscapePath(resource_id));
169 return AddResumableUploadParam(url);
170 }
171
172 GURL DriveApiUrlGenerator::GenerateDownloadFileUrl(
173 const std::string& resource_id) const {
174 return base_download_url_.Resolve(net::EscapePath(resource_id));
175 }
176
177 } // namespace google_apis
OLDNEW
« no previous file with comments | « chrome/browser/google_apis/drive_api_url_generator.h ('k') | chrome/browser/google_apis/drive_api_url_generator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698