diff --git a/Octokit/Helpers/ApiExtensions.cs b/Octokit/Helpers/ApiExtensions.cs index 4890bbae..c3cda7fa 100644 --- a/Octokit/Helpers/ApiExtensions.cs +++ b/Octokit/Helpers/ApiExtensions.cs @@ -7,8 +7,19 @@ using System.Threading.Tasks; namespace Octokit { + /// + /// Extensions for working with the + /// public static class ApiExtensions { + /// + /// Gets the API resource at the specified URI. + /// + /// Type of the API resource to get. + /// The connection to use + /// URI of the API resource to get + /// The API resource. + /// Thrown when an API error occurs. public static Task Get(this IApiConnection connection, Uri uri) { Ensure.ArgumentNotNull(connection, "connection"); @@ -17,6 +28,14 @@ namespace Octokit return connection.Get(uri, null); } + /// + /// Gets all API resources in the list at the specified URI. + /// + /// Type of the API resource in the list. + /// The connection to use + /// URI of the API resource to get + /// of the The API resources in the list. + /// Thrown when an API error occurs. public static Task> GetAll(this IApiConnection connection, Uri uri) { Ensure.ArgumentNotNull(connection, "connection"); @@ -25,6 +44,13 @@ namespace Octokit return connection.GetAll(uri, null); } + /// + /// Gets the HTML content of the API resource at the specified URI. + /// + /// The connection to use + /// URI of the API resource to get + /// The API resource's HTML content. + /// Thrown when an API error occurs. public static Task GetHtml(this IApiConnection connection, Uri uri) { Ensure.ArgumentNotNull(connection, "connection"); @@ -32,7 +58,13 @@ namespace Octokit return connection.GetHtml(uri, null); } - + + /// + /// Performs an asynchronous HTTP GET request that expects a containing HTML. + /// + /// The connection to use + /// URI endpoint to send request to + /// representing the received HTTP response public static Task> GetHtml(this IConnection connection, Uri uri) { Ensure.ArgumentNotNull(connection, "connection"); @@ -41,6 +73,14 @@ namespace Octokit return connection.GetHtml(uri, null); } + /// + /// Gets the API resource at the specified URI. + /// + /// Type of the API resource to get. + /// The connection to use + /// URI of the API resource to get + /// The API resource. + /// Thrown when an API error occurs. public static Task> GetResponse(this IConnection connection, Uri uri) { Ensure.ArgumentNotNull(connection, "connection"); @@ -49,6 +89,15 @@ namespace Octokit return connection.Get(uri, null, null); } + /// + /// Gets the API resource at the specified URI. + /// + /// Type of the API resource to get. + /// The connection to use + /// URI of the API resource to get + /// A token used to cancel the GetResponse request + /// The API resource. + /// Thrown when an API error occurs. public static Task> GetResponse(this IConnection connection, Uri uri, CancellationToken cancellationToken) { Ensure.ArgumentNotNull(connection, "connection"); diff --git a/Octokit/Helpers/AuthorizationExtensions.cs b/Octokit/Helpers/AuthorizationExtensions.cs index c867d1ed..c474a6a3 100644 --- a/Octokit/Helpers/AuthorizationExtensions.cs +++ b/Octokit/Helpers/AuthorizationExtensions.cs @@ -3,6 +3,9 @@ using System.Threading.Tasks; namespace Octokit { + /// + /// Represents operations to simplify triggering the authorization flow + /// public static class AuthorizationExtensions { /// diff --git a/Octokit/Helpers/HttpClientExtensions.cs b/Octokit/Helpers/HttpClientExtensions.cs index 2f401cc3..158ea2a1 100644 --- a/Octokit/Helpers/HttpClientExtensions.cs +++ b/Octokit/Helpers/HttpClientExtensions.cs @@ -7,6 +7,9 @@ namespace Octokit { public static class HttpClientExtensions { + /// + /// OBSOLETE + /// [Obsolete("This will be removed in a future release")] public static Task> Send(this IHttpClient httpClient, IRequest request) { diff --git a/Octokit/Helpers/IApiPagination.cs b/Octokit/Helpers/IApiPagination.cs index 1021fcc7..532fe135 100644 --- a/Octokit/Helpers/IApiPagination.cs +++ b/Octokit/Helpers/IApiPagination.cs @@ -14,6 +14,12 @@ namespace Octokit /// public interface IApiPagination { + /// + /// Paginate a request to asynchronous fetch the results until no more are returned + /// + /// Type of the API resource to get. + /// A function which generates the first request + /// The original URI (used only for raising an exception) Task> GetAllPages(Func>> getFirstPage, Uri uri); } } \ No newline at end of file diff --git a/Octokit/Helpers/ModelExtensions.cs b/Octokit/Helpers/ModelExtensions.cs index 103666dc..7fa8c236 100644 --- a/Octokit/Helpers/ModelExtensions.cs +++ b/Octokit/Helpers/ModelExtensions.cs @@ -2,6 +2,11 @@ namespace Octokit { + // TODO: this is only related to SSH keys, we should rename this + + /// + /// Extensions for working with SSH keys + /// public static class ModelExtensions { #if NETFX_CORE @@ -10,6 +15,10 @@ namespace Octokit static readonly Regex sshKeyRegex = new Regex(@"ssh-[rd]s[as] (?\S+) ?(?.*)$", RegexOptions.Compiled); #endif + /// + /// Extract SSH key information from the API response + /// + /// Key details received from API public static SshKeyInfo GetKeyDataAndName(this SshKey sshKey) { Ensure.ArgumentNotNull(sshKey, "sshKey"); @@ -20,6 +29,11 @@ namespace Octokit return (match.Success ? new SshKeyInfo(match.Groups["data"].Value, match.Groups["name"].Value) : null); } + /// + /// Compare two SSH keys to see if they are equal + /// + /// Reference SSH key + /// Key to compare public static bool HasSameDataAs(this SshKey key, SshKey otherKey) { Ensure.ArgumentNotNull(key, "key"); diff --git a/Octokit/Helpers/ParameterAttribute.cs b/Octokit/Helpers/ParameterAttribute.cs index 224c606d..9c310c86 100644 --- a/Octokit/Helpers/ParameterAttribute.cs +++ b/Octokit/Helpers/ParameterAttribute.cs @@ -2,10 +2,21 @@ namespace Octokit.Internal { + /// + /// Indicate to the serializer that this property or value + /// has a different representation when being serialized to JSON + /// [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] public sealed class ParameterAttribute : Attribute { + /// + /// The key to use in place of the property's name + /// public string Key { get; set; } + + /// + /// The name to use in place of the enum's value + /// public string Value { get; set; } } } \ No newline at end of file diff --git a/Octokit/Helpers/SerializeNullAttribute.cs b/Octokit/Helpers/SerializeNullAttribute.cs index 1716abc1..f336f957 100644 --- a/Octokit/Helpers/SerializeNullAttribute.cs +++ b/Octokit/Helpers/SerializeNullAttribute.cs @@ -2,6 +2,10 @@ namespace Octokit.Internal { + /// + /// Indicate to the serializer that this property or field + /// should be included, even when currently set to `null` + /// [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)] public sealed class SerializeNullAttribute : Attribute {