| 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 "google_apis/drive/drive_api_url_generator.h" | 5 #include "google_apis/drive/drive_api_url_generator.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 const char kDriveV2UploadExistingFileUrlPrefix[] = "upload/drive/v2/files/"; | 35 const char kDriveV2UploadExistingFileUrlPrefix[] = "upload/drive/v2/files/"; |
| 36 const char kDriveV2BatchUploadUrl[] = "upload/drive"; | 36 const char kDriveV2BatchUploadUrl[] = "upload/drive"; |
| 37 const char kDriveV2PermissionsUrlFormat[] = "drive/v2/files/%s/permissions"; | 37 const char kDriveV2PermissionsUrlFormat[] = "drive/v2/files/%s/permissions"; |
| 38 const char kDriveV2DownloadUrlFormat[] = "drive/v2/files/%s?alt=media"; | 38 const char kDriveV2DownloadUrlFormat[] = "drive/v2/files/%s?alt=media"; |
| 39 const char kDriveV2ThumbnailUrlFormat[] = "d/%s=w%d-h%d"; | 39 const char kDriveV2ThumbnailUrlFormat[] = "d/%s=w%d-h%d"; |
| 40 const char kDriveV2ThumbnailUrlWithCropFormat[] = "d/%s=w%d-h%d-c"; | 40 const char kDriveV2ThumbnailUrlWithCropFormat[] = "d/%s=w%d-h%d-c"; |
| 41 const char kDriveV2TeamDrivesUrl[] = "drive/v2/teamdrives"; | 41 const char kDriveV2TeamDrivesUrl[] = "drive/v2/teamdrives"; |
| 42 | 42 |
| 43 const char kIncludeTeamDriveItems[] = "includeTeamDriveItems"; | 43 const char kIncludeTeamDriveItems[] = "includeTeamDriveItems"; |
| 44 const char kSupportsTeamDrives[] = "supportsTeamDrives"; | 44 const char kSupportsTeamDrives[] = "supportsTeamDrives"; |
| 45 const char kCorpora[] = "corpora"; |
| 46 const char kCorporaAllTeamDrives[] = "default,allTeamDrives"; |
| 47 const char kCorporaDefault[] = "default"; |
| 48 const char kCorporaTeamDrive[] = "teamDrive"; |
| 49 const char kTeamDriveId[] = "teamDriveId"; |
| 45 | 50 |
| 46 // apps.delete and file.authorize API is exposed through a special endpoint | 51 // apps.delete and file.authorize API is exposed through a special endpoint |
| 47 // v2internal that is accessible only by the official API key for Chrome. | 52 // v2internal that is accessible only by the official API key for Chrome. |
| 48 const char kDriveV2InternalAppsUrl[] = "drive/v2internal/apps"; | 53 const char kDriveV2InternalAppsUrl[] = "drive/v2internal/apps"; |
| 49 const char kDriveV2AppsDeleteUrlFormat[] = "drive/v2internal/apps/%s"; | 54 const char kDriveV2AppsDeleteUrlFormat[] = "drive/v2internal/apps/%s"; |
| 50 const char kDriveV2FilesAuthorizeUrlFormat[] = | 55 const char kDriveV2FilesAuthorizeUrlFormat[] = |
| 51 "drive/v2internal/files/%s/authorize?appId=%s"; | 56 "drive/v2internal/files/%s/authorize?appId=%s"; |
| 52 const char kDriveV2InternalFileUrlPrefix[] = "drive/v2internal/files/"; | 57 const char kDriveV2InternalFileUrlPrefix[] = "drive/v2internal/files/"; |
| 53 | 58 |
| 54 GURL AddResumableUploadParam(const GURL& url) { | 59 GURL AddResumableUploadParam(const GURL& url) { |
| 55 return net::AppendOrReplaceQueryParameter(url, "uploadType", "resumable"); | 60 return net::AppendOrReplaceQueryParameter(url, "uploadType", "resumable"); |
| 56 } | 61 } |
| 57 | 62 |
| 58 GURL AddMultipartUploadParam(const GURL& url) { | 63 GURL AddMultipartUploadParam(const GURL& url) { |
| 59 return net::AppendOrReplaceQueryParameter(url, "uploadType", "multipart"); | 64 return net::AppendOrReplaceQueryParameter(url, "uploadType", "multipart"); |
| 60 } | 65 } |
| 61 | 66 |
| 67 const char* GetCorporaString(FilesListCorpora corpora) { |
| 68 switch (corpora) { |
| 69 case FilesListCorpora::DEFAULT: |
| 70 return kCorporaDefault; |
| 71 case FilesListCorpora::TEAM_DRIVE: |
| 72 return kCorporaTeamDrive; |
| 73 case FilesListCorpora::ALL_TEAM_DRIVES: |
| 74 return kCorporaAllTeamDrives; |
| 75 } |
| 76 NOTREACHED(); |
| 77 return kCorporaDefault; |
| 78 } |
| 79 |
| 62 } // namespace | 80 } // namespace |
| 63 | 81 |
| 64 DriveApiUrlGenerator::DriveApiUrlGenerator( | 82 DriveApiUrlGenerator::DriveApiUrlGenerator( |
| 65 const GURL& base_url, const GURL& base_thumbnail_url, | 83 const GURL& base_url, const GURL& base_thumbnail_url, |
| 66 TeamDrivesIntegrationStatus team_drives_integration) | 84 TeamDrivesIntegrationStatus team_drives_integration) |
| 67 : base_url_(base_url), | 85 : base_url_(base_url), |
| 68 base_thumbnail_url_(base_thumbnail_url), | 86 base_thumbnail_url_(base_thumbnail_url), |
| 69 enable_team_drives_( | 87 enable_team_drives_( |
| 70 team_drives_integration == TEAM_DRIVES_INTEGRATION_ENABLED) { | 88 team_drives_integration == TEAM_DRIVES_INTEGRATION_ENABLED) { |
| 71 // Do nothing. | 89 // Do nothing. |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 if (enable_team_drives_) | 196 if (enable_team_drives_) |
| 179 url = net::AppendOrReplaceQueryParameter(url, kSupportsTeamDrives, "true"); | 197 url = net::AppendOrReplaceQueryParameter(url, kSupportsTeamDrives, "true"); |
| 180 if (!visibility.empty()) | 198 if (!visibility.empty()) |
| 181 url = net::AppendOrReplaceQueryParameter(url, "visibility", visibility); | 199 url = net::AppendOrReplaceQueryParameter(url, "visibility", visibility); |
| 182 | 200 |
| 183 return url; | 201 return url; |
| 184 } | 202 } |
| 185 | 203 |
| 186 GURL DriveApiUrlGenerator::GetFilesListUrl(int max_results, | 204 GURL DriveApiUrlGenerator::GetFilesListUrl(int max_results, |
| 187 const std::string& page_token, | 205 const std::string& page_token, |
| 206 FilesListCorpora corpora, |
| 207 const std::string& team_drive_id, |
| 188 const std::string& q) const { | 208 const std::string& q) const { |
| 189 GURL url = base_url_.Resolve(kDriveV2FilesUrl); | 209 GURL url = base_url_.Resolve(kDriveV2FilesUrl); |
| 190 if (enable_team_drives_) { | 210 if (enable_team_drives_) { |
| 191 url = net::AppendOrReplaceQueryParameter(url, kSupportsTeamDrives, "true"); | 211 url = net::AppendOrReplaceQueryParameter(url, kSupportsTeamDrives, "true"); |
| 192 url = net::AppendOrReplaceQueryParameter(url, kIncludeTeamDriveItems, | 212 if (corpora != FilesListCorpora::DEFAULT) { |
| 193 "true"); | 213 url = net::AppendOrReplaceQueryParameter(url, kIncludeTeamDriveItems, |
| 214 "true"); |
| 215 } |
| 216 url = net::AppendOrReplaceQueryParameter(url, kCorpora, |
| 217 GetCorporaString(corpora)); |
| 218 if (!team_drive_id.empty()) |
| 219 url = |
| 220 net::AppendOrReplaceQueryParameter(url, kTeamDriveId, team_drive_id); |
| 194 } | 221 } |
| 195 // maxResults is 100 by default. | 222 // maxResults is 100 by default. |
| 196 if (max_results != 100) { | 223 if (max_results != 100) { |
| 197 url = net::AppendOrReplaceQueryParameter( | 224 url = net::AppendOrReplaceQueryParameter( |
| 198 url, "maxResults", base::IntToString(max_results)); | 225 url, "maxResults", base::IntToString(max_results)); |
| 199 } | 226 } |
| 200 | 227 |
| 201 if (!page_token.empty()) | 228 if (!page_token.empty()) |
| 202 url = net::AppendOrReplaceQueryParameter(url, "pageToken", page_token); | 229 url = net::AppendOrReplaceQueryParameter(url, "pageToken", page_token); |
| 203 | 230 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 231 const std::string& team_drive_id) const { | 258 const std::string& team_drive_id) const { |
| 232 DCHECK_GE(start_change_id, 0); | 259 DCHECK_GE(start_change_id, 0); |
| 233 | 260 |
| 234 GURL url = base_url_.Resolve(kDriveV2ChangelistUrl); | 261 GURL url = base_url_.Resolve(kDriveV2ChangelistUrl); |
| 235 if (enable_team_drives_) { | 262 if (enable_team_drives_) { |
| 236 url = net::AppendOrReplaceQueryParameter(url, kSupportsTeamDrives, "true"); | 263 url = net::AppendOrReplaceQueryParameter(url, kSupportsTeamDrives, "true"); |
| 237 url = net::AppendOrReplaceQueryParameter(url, kIncludeTeamDriveItems, | 264 url = net::AppendOrReplaceQueryParameter(url, kIncludeTeamDriveItems, |
| 238 "true"); | 265 "true"); |
| 239 if (!team_drive_id.empty()) { | 266 if (!team_drive_id.empty()) { |
| 240 url = | 267 url = |
| 241 net::AppendOrReplaceQueryParameter(url, "teamDriveId", team_drive_id); | 268 net::AppendOrReplaceQueryParameter(url, kTeamDriveId, team_drive_id); |
| 242 } | 269 } |
| 243 } | 270 } |
| 244 // includeDeleted is "true" by default. | 271 // includeDeleted is "true" by default. |
| 245 if (!include_deleted) | 272 if (!include_deleted) |
| 246 url = net::AppendOrReplaceQueryParameter(url, "includeDeleted", "false"); | 273 url = net::AppendOrReplaceQueryParameter(url, "includeDeleted", "false"); |
| 247 | 274 |
| 248 // maxResults is "100" by default. | 275 // maxResults is "100" by default. |
| 249 if (max_results != 100) { | 276 if (max_results != 100) { |
| 250 url = net::AppendOrReplaceQueryParameter( | 277 url = net::AppendOrReplaceQueryParameter( |
| 251 url, "maxResults", base::IntToString(max_results)); | 278 url, "maxResults", base::IntToString(max_results)); |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 url = net::AppendOrReplaceQueryParameter(url, "maxResults", | 412 url = net::AppendOrReplaceQueryParameter(url, "maxResults", |
| 386 base::IntToString(max_results)); | 413 base::IntToString(max_results)); |
| 387 } | 414 } |
| 388 if (!page_token.empty()) | 415 if (!page_token.empty()) |
| 389 url = net::AppendOrReplaceQueryParameter(url, "pageToken", page_token); | 416 url = net::AppendOrReplaceQueryParameter(url, "pageToken", page_token); |
| 390 | 417 |
| 391 return url; | 418 return url; |
| 392 } | 419 } |
| 393 | 420 |
| 394 } // namespace google_apis | 421 } // namespace google_apis |
| OLD | NEW |