Skip to content

Commit b80f0ae

Browse files
authored
Merge pull request #1405 from github/add-uploads-url-option
Add options for target uploads URL
2 parents ff46cea + d16b137 commit b80f0ae

File tree

42 files changed

+179
-70
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+179
-70
lines changed

RELEASENOTES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1+
- Add --target-uploads-url option to support GitHub-owned storage uploads to locations other than uploads.github.com.

src/Octoshift/Commands/CreateTeam/CreateTeamCommandBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public override CreateTeamCommandHandler BuildHandler(CreateTeamCommandArgs args
4343
var log = sp.GetRequiredService<OctoLogger>();
4444
var githubApiFactory = sp.GetRequiredService<ITargetGithubApiFactory>();
4545

46-
var githubApi = githubApiFactory.Create(args.TargetApiUrl, args.GithubPat);
46+
var githubApi = githubApiFactory.Create(args.TargetApiUrl, null, args.GithubPat);
4747

4848
return new CreateTeamCommandHandler(log, githubApi);
4949
}

src/Octoshift/Commands/DownloadLogs/DownloadLogsCommandBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public override DownloadLogsCommandHandler BuildHandler(DownloadLogsCommandArgs
6767

6868
var log = sp.GetRequiredService<OctoLogger>();
6969
var githubApiFactory = sp.GetRequiredService<ITargetGithubApiFactory>();
70-
var githubApi = githubApiFactory.Create(args.GithubApiUrl, args.GithubPat);
70+
var githubApi = githubApiFactory.Create(args.GithubApiUrl, null, args.GithubPat);
7171
var httpDownloadServiceFactory = sp.GetRequiredService<HttpDownloadServiceFactory>();
7272
var httpDownloadService = httpDownloadServiceFactory.CreateDefaultWithRedirects();
7373
var retryPolicy = sp.GetRequiredService<RetryPolicy>();

src/Octoshift/Commands/GenerateMannequinCsv/GenerateMannequinCsvCommandBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public override GenerateMannequinCsvCommandHandler BuildHandler(GenerateMannequi
5656

5757
var log = sp.GetRequiredService<OctoLogger>();
5858
var githubApiFactory = sp.GetRequiredService<ITargetGithubApiFactory>();
59-
var githubApi = githubApiFactory.Create(args.TargetApiUrl, args.GithubPat);
59+
var githubApi = githubApiFactory.Create(args.TargetApiUrl, null, args.GithubPat);
6060

6161
return new GenerateMannequinCsvCommandHandler(log, githubApi);
6262
}

src/Octoshift/Commands/GrantMigratorRole/GrantMigratorRoleCommandBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public override GrantMigratorRoleCommandHandler BuildHandler(GrantMigratorRoleCo
5353
var log = sp.GetRequiredService<OctoLogger>();
5454
var githubApiFactory = sp.GetRequiredService<ITargetGithubApiFactory>();
5555
var apiUrl = args.TargetApiUrl ?? args.GhesApiUrl;
56-
var githubApi = githubApiFactory.Create(apiUrl, args.GithubPat);
56+
var githubApi = githubApiFactory.Create(apiUrl, null, args.GithubPat);
5757

5858
return new GrantMigratorRoleCommandHandler(log, githubApi);
5959
}

src/Octoshift/Commands/ReclaimMannequin/ReclaimMannequinCommandBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public override ReclaimMannequinCommandHandler BuildHandler(ReclaimMannequinComm
8888

8989
var log = sp.GetRequiredService<OctoLogger>();
9090
var githubApiFactory = sp.GetRequiredService<ITargetGithubApiFactory>();
91-
var githubApi = githubApiFactory.Create(args.TargetApiUrl, args.GithubPat);
91+
var githubApi = githubApiFactory.Create(args.TargetApiUrl, null, args.GithubPat);
9292
var reclaimService = new ReclaimService(githubApi, log);
9393
var confirmationService = sp.GetRequiredService<ConfirmationService>();
9494

src/Octoshift/Commands/RevokeMigratorRole/RevokeMigratorRoleCommandBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public override RevokeMigratorRoleCommandHandler BuildHandler(RevokeMigratorRole
4242
var log = sp.GetRequiredService<OctoLogger>();
4343
var githubApiFactory = sp.GetRequiredService<ITargetGithubApiFactory>();
4444
var apiUrl = args.TargetApiUrl ?? args.GhesApiUrl;
45-
var githubApi = githubApiFactory.Create(apiUrl, args.GithubPat);
45+
var githubApi = githubApiFactory.Create(apiUrl, null, args.GithubPat);
4646

4747
return new RevokeMigratorRoleCommandHandler(log, githubApi);
4848
}

src/Octoshift/Contracts/ISourceGithubApiFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ namespace OctoshiftCLI.Contracts;
44

55
public interface ISourceGithubApiFactory
66
{
7-
GithubApi Create(string apiUrl = null, string sourcePersonalAccessToken = null);
8-
GithubApi CreateClientNoSsl(string apiUrl = null, string sourcePersonalAccessToken = null);
7+
GithubApi Create(string apiUrl = null, string uploadsUrl = null, string sourcePersonalAccessToken = null);
8+
GithubApi CreateClientNoSsl(string apiUrl = null, string uploadsUrl = null, string sourcePersonalAccessToken = null);
99
}

src/Octoshift/Contracts/ITargetGithubApiFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ namespace OctoshiftCLI.Contracts;
44

55
public interface ITargetGithubApiFactory
66
{
7-
GithubApi Create(string apiUrl = null, string targetPersonalAccessToken = null);
7+
GithubApi Create(string apiUrl = null, string uploadsUrl = null, string targetPersonalAccessToken = null);
88
}

src/Octoshift/Factories/GithubApiFactory.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ namespace OctoshiftCLI.Factories;
77
public sealed class GithubApiFactory : ISourceGithubApiFactory, ITargetGithubApiFactory
88
{
99
private const string DEFAULT_API_URL = "https://api.github.com";
10+
private const string DEFAULT_UPLOADS_URL = "https://uploads.github.com";
1011

1112
private readonly OctoLogger _octoLogger;
1213
private readonly IHttpClientFactory _clientFactory;
@@ -25,30 +26,33 @@ public GithubApiFactory(OctoLogger octoLogger, IHttpClientFactory clientFactory,
2526
_versionProvider = versionProvider;
2627
}
2728

28-
GithubApi ISourceGithubApiFactory.Create(string apiUrl, string sourcePersonalAccessToken)
29+
GithubApi ISourceGithubApiFactory.Create(string apiUrl, string uploadsUrl, string sourcePersonalAccessToken)
2930
{
3031
apiUrl ??= DEFAULT_API_URL;
32+
uploadsUrl ??= DEFAULT_UPLOADS_URL;
3133
sourcePersonalAccessToken ??= _environmentVariableProvider.SourceGithubPersonalAccessToken();
3234
var githubClient = new GithubClient(_octoLogger, _clientFactory.CreateClient("Default"), _versionProvider, _retryPolicy, _dateTimeProvider, sourcePersonalAccessToken);
33-
var multipartUploader = new ArchiveUploader(githubClient, _octoLogger, _retryPolicy);
35+
var multipartUploader = new ArchiveUploader(githubClient, uploadsUrl, _octoLogger, _retryPolicy);
3436
return new GithubApi(githubClient, apiUrl, _retryPolicy, multipartUploader);
3537
}
3638

37-
GithubApi ISourceGithubApiFactory.CreateClientNoSsl(string apiUrl, string sourcePersonalAccessToken)
39+
GithubApi ISourceGithubApiFactory.CreateClientNoSsl(string apiUrl, string uploadsUrl, string sourcePersonalAccessToken)
3840
{
3941
apiUrl ??= DEFAULT_API_URL;
42+
uploadsUrl ??= DEFAULT_UPLOADS_URL;
4043
sourcePersonalAccessToken ??= _environmentVariableProvider.SourceGithubPersonalAccessToken();
4144
var githubClient = new GithubClient(_octoLogger, _clientFactory.CreateClient("NoSSL"), _versionProvider, _retryPolicy, _dateTimeProvider, sourcePersonalAccessToken);
42-
var multipartUploader = new ArchiveUploader(githubClient, _octoLogger, _retryPolicy);
45+
var multipartUploader = new ArchiveUploader(githubClient, uploadsUrl, _octoLogger, _retryPolicy);
4346
return new GithubApi(githubClient, apiUrl, _retryPolicy, multipartUploader);
4447
}
4548

46-
GithubApi ITargetGithubApiFactory.Create(string apiUrl, string targetPersonalAccessToken)
49+
GithubApi ITargetGithubApiFactory.Create(string apiUrl, string uploadsUrl, string targetPersonalAccessToken)
4750
{
4851
apiUrl ??= DEFAULT_API_URL;
52+
uploadsUrl ??= DEFAULT_UPLOADS_URL;
4953
targetPersonalAccessToken ??= _environmentVariableProvider.TargetGithubPersonalAccessToken();
5054
var githubClient = new GithubClient(_octoLogger, _clientFactory.CreateClient("Default"), _versionProvider, _retryPolicy, _dateTimeProvider, targetPersonalAccessToken);
51-
var multipartUploader = new ArchiveUploader(githubClient, _octoLogger, _retryPolicy);
55+
var multipartUploader = new ArchiveUploader(githubClient, uploadsUrl, _octoLogger, _retryPolicy);
5256
return new GithubApi(githubClient, apiUrl, _retryPolicy, multipartUploader);
5357
}
5458
}

0 commit comments

Comments
 (0)