mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-05 11:40:42 +00:00
Merge pull request #918 from willsb/download-timeout
Adds overloads to GetArchive for adding custom timeouts
This commit is contained in:
@@ -96,6 +96,18 @@ namespace Octokit.Reactive
|
||||
/// <returns>A promise, containing the binary contents of the archive</returns>
|
||||
IObservable<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat, string reference);
|
||||
|
||||
/// <summary>
|
||||
/// Get an archive of a given repository's contents, in a specific format
|
||||
/// </summary>
|
||||
/// <remarks>https://developer.github.com/v3/repos/contents/#get-archive-link</remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="archiveFormat">The format of the archive. Can be either tarball or zipball</param>
|
||||
/// <param name="reference">A valid Git reference.</param>
|
||||
/// <param name="timeout"> Time span until timeout </param>
|
||||
/// <returns>The binary contents of the archive</returns>
|
||||
IObservable<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat, string reference, TimeSpan timeout);
|
||||
|
||||
/// <summary>
|
||||
/// Returns the contents of a file or directory in a repository.
|
||||
/// </summary>
|
||||
|
||||
@@ -74,7 +74,7 @@ namespace Octokit.Reactive
|
||||
/// <returns>A promise, containing the binary contents of the archive</returns>
|
||||
public IObservable<byte[]> GetArchive(string owner, string name)
|
||||
{
|
||||
return _client.Repository.Content.GetArchive(owner, name).ToObservable();
|
||||
return GetArchive(owner, name, ArchiveFormat.Tarball);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -104,7 +104,7 @@ namespace Octokit.Reactive
|
||||
/// <returns>A promise, containing the binary contents of the archive</returns>
|
||||
public IObservable<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat)
|
||||
{
|
||||
return _client.Repository.Content.GetArchive(owner, name, archiveFormat).ToObservable();
|
||||
return GetArchive(owner, name, archiveFormat, string.Empty);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -139,7 +139,7 @@ namespace Octokit.Reactive
|
||||
/// <returns>A promise, containing the binary contents of the archive</returns>
|
||||
public IObservable<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat, string reference)
|
||||
{
|
||||
return _client.Repository.Content.GetArchive(owner, name, archiveFormat, reference).ToObservable();
|
||||
return GetArchive(owner, name, archiveFormat, reference, TimeSpan.FromMinutes(60));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -165,6 +165,25 @@ namespace Octokit.Reactive
|
||||
.GetAndFlattenAllPages<RepositoryContent>(ApiUrls.RepositoryContent(owner, name, path));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get an archive of a given repository's contents, in a specific format
|
||||
/// </summary>
|
||||
/// <remarks>https://developer.github.com/v3/repos/contents/#get-archive-link</remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="archiveFormat">The format of the archive. Can be either tarball or zipball</param>
|
||||
/// <param name="reference">A valid Git reference.</param>
|
||||
/// <param name="timeout"> Time span until timeout </param>
|
||||
/// <returns>The binary contents of the archive</returns>
|
||||
public IObservable<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat, string reference, TimeSpan timeout)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
|
||||
Ensure.ArgumentNotNullOrEmptyString(name, "name");
|
||||
Ensure.GreaterThanZero(timeout, "timeout");
|
||||
|
||||
return _client.Repository.Content.GetArchive(owner, name, archiveFormat, reference, timeout).ToObservable();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the contents of a file or directory in a repository.
|
||||
/// </summary>
|
||||
|
||||
@@ -137,6 +137,18 @@ namespace Octokit
|
||||
/// <returns>The binary contents of the archive</returns>
|
||||
Task<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat, string reference);
|
||||
|
||||
/// <summary>
|
||||
/// Get an archive of a given repository's contents, in a specific format
|
||||
/// </summary>
|
||||
/// <remarks>https://developer.github.com/v3/repos/contents/#get-archive-link</remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="archiveFormat">The format of the archive. Can be either tarball or zipball</param>
|
||||
/// <param name="reference">A valid Git reference.</param>
|
||||
/// <param name="timeout"> Time span until timeout </param>
|
||||
/// <returns>The binary contents of the archive</returns>
|
||||
Task<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat, string reference, TimeSpan timeout);
|
||||
|
||||
/// <summary>
|
||||
/// Creates a commit that creates a new file in a repository.
|
||||
/// </summary>
|
||||
|
||||
@@ -187,14 +187,30 @@ namespace Octokit
|
||||
/// <param name="archiveFormat">The format of the archive. Can be either tarball or zipball</param>
|
||||
/// <param name="reference">A valid Git reference.</param>
|
||||
/// <returns>The binary contents of the archive</returns>
|
||||
public async Task<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat, string reference)
|
||||
public Task<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat, string reference)
|
||||
{
|
||||
return GetArchive(owner, name, archiveFormat, string.Empty, TimeSpan.FromMinutes(60));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get an archive of a given repository's contents, in a specific format
|
||||
/// </summary>
|
||||
/// <remarks>https://developer.github.com/v3/repos/contents/#get-archive-link</remarks>
|
||||
/// <param name="owner">The owner of the repository</param>
|
||||
/// <param name="name">The name of the repository</param>
|
||||
/// <param name="archiveFormat">The format of the archive. Can be either tarball or zipball</param>
|
||||
/// <param name="reference">A valid Git reference.</param>
|
||||
/// <param name="timeout"> Time span until timeout </param>
|
||||
/// <returns>The binary contents of the archive</returns>
|
||||
public async Task<byte[]> GetArchive(string owner, string name, ArchiveFormat archiveFormat, string reference, TimeSpan timeout)
|
||||
{
|
||||
Ensure.ArgumentNotNullOrEmptyString(owner, "owner");
|
||||
Ensure.ArgumentNotNullOrEmptyString(name, "name");
|
||||
Ensure.GreaterThanZero(timeout, "timeout");
|
||||
|
||||
var endpoint = ApiUrls.RepositoryArchiveLink(owner, name, archiveFormat, reference);
|
||||
|
||||
var response = await Connection.Get<byte[]>(endpoint, TimeSpan.FromMinutes(60));
|
||||
var response = await Connection.Get<byte[]>(endpoint, timeout);
|
||||
|
||||
return response.Body;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user