using System;
using System.Reactive.Linq;
using System.Reactive.Threading.Tasks;
namespace Octokit.Reactive
{
///
/// A client for GitHub's public keys API.
///
///
/// See the Secret scanning documentation for more details.
///
public class ObservablePublicKeysClient : IObservablePublicKeysClient
{
private readonly IPublicKeysClient _client;
public ObservablePublicKeysClient(IGitHubClient client)
{
Ensure.ArgumentNotNull(client, nameof(client));
_client = client.Meta.PublicKeys;
}
///
/// Retrieves public keys for validating request signatures.
///
/// Thrown when a general API error occurs.
/// An containing public keys for validating request signatures.
public IObservable Get(PublicKeyType keysType)
{
return _client.Get(keysType).ToObservable();
}
}
}