using System; using System.Reactive.Linq; using System.Reactive.Threading.Tasks; namespace Octokit.Reactive { /// /// A client for GitHub's meta APIs. /// /// /// See the Meta API documentation for more details. /// public class ObservableMetaClient : IObservableMetaClient { private readonly IMetaClient _client; public ObservableMetaClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, nameof(client)); PublicKeys = new ObservablePublicKeysClient(client); _client = client.Meta; } /// /// Returns a client to manage get public keys for validating request signatures. /// public IObservablePublicKeysClient PublicKeys { get; private set; } /// /// Retrieves information about GitHub.com, the service or a GitHub Enterprise installation. /// /// Thrown when a general API error occurs. /// An containing metadata about the GitHub instance. public IObservable GetMetadata() { return _client.GetMetadata().ToObservable(); } } }