Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructured classes for consistency #19

Merged
merged 2 commits into from
Sep 4, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions src/CloudFlare.NET/CloudFlare.NET.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -72,30 +72,32 @@
<Compile Include="CloudFlareResponseBase.cs" />
<Compile Include="CloudFlareResultInfo.cs" />
<Compile Include="DnsRecord.cs" />
<Compile Include="DnsRecordClient.Implementation.cs" />
<Compile Include="DnsRecordClient.Interface.cs" />
<Compile Include="DnsRecordClientExtensions.cs" />
<Compile Include="DnsRecordGetParameters.cs" />
<Compile Include="DnsRecordHttpClientExtensions.cs" />
<Compile Include="DnsRecordOrderTypes.cs" />
<Compile Include="DnsRecordType.cs" />
<Compile Include="HttpClientDnsRecordExtensions.cs" />
<Compile Include="HttpClientExtensions.cs" />
<Compile Include="HttpClientZoneExtensions.cs" />
<Compile Include="ICloudFlareClient.cs" />
<Compile Include="IdentifierTag.cs" />
<Compile Include="IdentifierTag.IEquatable.cs" />
<Compile Include="IDnsRecordClient.cs" />
<Compile Include="IIdentifier.cs" />
<Compile Include="IModified.cs" />
<Compile Include="IZoneClient.cs" />
<Compile Include="PagedDnsRecordOrderFieldTypes.cs" />
<Compile Include="PagedDnsRecordParameters.cs" />
<Compile Include="PagedParameters.cs" />
<Compile Include="PagedParametersExtensions.cs" />
<Compile Include="PagedParametersMatchType.cs" />
<Compile Include="PagedParametersOrderType.cs" />
<Compile Include="PagedZoneOrderFieldTypes.cs" />
<Compile Include="PagedZoneParameters.cs" />
<Compile Include="Serialization\IsoDateTimeOffsetConverter.cs" />
<Compile Include="Serialization\ToStringJsonConverter.cs" />
<Compile Include="Zone.cs" />
<Compile Include="ZoneClient.Implementation.cs" />
<Compile Include="ZoneClient.Interface.cs" />
<Compile Include="ZoneClientExtensions.cs" />
<Compile Include="ZoneGetParameters.cs" />
<Compile Include="ZoneHttpClientExtensions.cs" />
<Compile Include="ZoneOrderTypes.cs" />
<Compile Include="ZoneStatusType.cs" />
<None Include="app.config" />
<None Include="CloudFlare.NET.nuspec" />
Expand Down
62 changes: 1 addition & 61 deletions src/CloudFlare.NET/CloudFlareClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

/// <inheritdoc/>
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public class CloudFlareClient : ICloudFlareClient
public partial class CloudFlareClient : ICloudFlareClient
{
private static readonly Lazy<HttpClient> LazyClient = new Lazy<HttpClient>(
() => CreateDefaultHttpClient(),
Expand Down Expand Up @@ -141,66 +141,6 @@ public static HttpClientHandler CreateDefaultHttpClientHandler()
return handler;
}

/// <inheritdoc/>
public Task<CloudFlareResponse<IReadOnlyList<Zone>>> GetZonesAsync(
CancellationToken cancellationToken,
PagedZoneParameters parameters = null,
CloudFlareAuth auth = null)
{
return _client.GetZonesAsync(cancellationToken, auth ?? _auth, parameters);
}

/// <inheritdoc/>
public Task<IEnumerable<Zone>> GetAllZonesAsync(
CancellationToken cancellationToken,
PagedZoneParameters parameters = null,
CloudFlareAuth auth = null)
{
return GetAllPagedResultsAsync<Zone, PagedZoneParameters, PagedZoneOrderFieldTypes>(
_client.GetZonesAsync,
cancellationToken,
auth ?? _auth,
50,
parameters);
}

/// <inheritdoc/>
public Task<Zone> GetZoneAsync(
IdentifierTag zoneId,
CancellationToken cancellationToken,
CloudFlareAuth auth = null)
{
return _client.GetZoneAsync(zoneId, cancellationToken, auth ?? _auth);
}

/// <inheritdoc/>
public Task<CloudFlareResponse<IReadOnlyList<DnsRecord>>> GetDnsRecordsAsync(
IdentifierTag zoneId,
CancellationToken cancellationToken,
PagedDnsRecordParameters parameters = null,
CloudFlareAuth auth = null)
{
return _client.GetDnsRecordsAsync(zoneId, cancellationToken, auth ?? _auth, parameters);
}

/// <inheritdoc/>
public Task<IEnumerable<DnsRecord>> GetAllDnsRecordsAsync(
IdentifierTag zoneId,
CancellationToken cancellationToken,
PagedDnsRecordParameters parameters = null,
CloudFlareAuth auth = null)
{
if (zoneId == null)
throw new ArgumentNullException(nameof(zoneId));

return GetAllPagedResultsAsync<DnsRecord, PagedDnsRecordParameters, PagedDnsRecordOrderFieldTypes>(
(ct, a, p) => _client.GetDnsRecordsAsync(zoneId, ct, a, p),
cancellationToken,
auth ?? _auth,
100,
parameters);
}

private static async Task<IEnumerable<TResult>> GetAllPagedResultsAsync<TResult, TParams, TOrder>(
Func<CancellationToken, CloudFlareAuth, TParams, Task<CloudFlareResponse<IReadOnlyList<TResult>>>> request,
CancellationToken cancellationToken,
Expand Down
40 changes: 40 additions & 0 deletions src/CloudFlare.NET/DnsRecordClient.Implementation.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
namespace CloudFlare.NET
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

/// <inheritdoc/>
public partial class CloudFlareClient : IDnsRecordClient
{
/// <inheritdoc/>
public Task<CloudFlareResponse<IReadOnlyList<DnsRecord>>> GetDnsRecordsAsync(
IdentifierTag zoneId,
CancellationToken cancellationToken,
DnsRecordGetParameters parameters = null,
CloudFlareAuth auth = null)
{
return _client.GetDnsRecordsAsync(zoneId, cancellationToken, auth ?? _auth, parameters);
}

/// <inheritdoc/>
public Task<IEnumerable<DnsRecord>> GetAllDnsRecordsAsync(
IdentifierTag zoneId,
CancellationToken cancellationToken,
DnsRecordGetParameters parameters = null,
CloudFlareAuth auth = null)
{
if (zoneId == null)
throw new ArgumentNullException(nameof(zoneId));

return GetAllPagedResultsAsync<DnsRecord, DnsRecordGetParameters, DnsRecordOrderTypes>(
(ct, a, p) => _client.GetDnsRecordsAsync(zoneId, ct, a, p),
cancellationToken,
auth ?? _auth,
100,
parameters);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public interface IDnsRecordClient
Task<CloudFlareResponse<IReadOnlyList<DnsRecord>>> GetDnsRecordsAsync(
IdentifierTag zoneId,
CancellationToken cancellationToken,
PagedDnsRecordParameters parameters = null,
DnsRecordGetParameters parameters = null,
CloudFlareAuth auth = null);

/// <summary>
Expand All @@ -30,7 +30,7 @@ Task<CloudFlareResponse<IReadOnlyList<DnsRecord>>> GetDnsRecordsAsync(
Task<IEnumerable<DnsRecord>> GetAllDnsRecordsAsync(
IdentifierTag zoneId,
CancellationToken cancellationToken,
PagedDnsRecordParameters parameters = null,
DnsRecordGetParameters parameters = null,
CloudFlareAuth auth = null);
}
}
8 changes: 4 additions & 4 deletions src/CloudFlare.NET/DnsRecordClientExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public static class DnsRecordClientExtensions
public static Task<CloudFlareResponse<IReadOnlyList<DnsRecord>>> GetDnsRecordsAsync(
this IDnsRecordClient client,
IdentifierTag zoneId,
PagedDnsRecordParameters parameters = null)
DnsRecordGetParameters parameters = null)
{
if (client == null)
throw new ArgumentNullException(nameof(client));
Expand All @@ -36,7 +36,7 @@ public static Task<CloudFlareResponse<IReadOnlyList<DnsRecord>>> GetDnsRecordsAs
this IDnsRecordClient client,
IdentifierTag zoneId,
CloudFlareAuth auth,
PagedDnsRecordParameters parameters = null)
DnsRecordGetParameters parameters = null)
{
if (client == null)
throw new ArgumentNullException(nameof(client));
Expand All @@ -55,7 +55,7 @@ public static Task<CloudFlareResponse<IReadOnlyList<DnsRecord>>> GetDnsRecordsAs
public static Task<IEnumerable<DnsRecord>> GetAllDnsRecordsAsync(
this IDnsRecordClient client,
IdentifierTag zoneId,
PagedDnsRecordParameters parameters = null)
DnsRecordGetParameters parameters = null)
{
if (client == null)
throw new ArgumentNullException(nameof(client));
Expand All @@ -73,7 +73,7 @@ public static Task<IEnumerable<DnsRecord>> GetAllDnsRecordsAsync(
this IDnsRecordClient client,
IdentifierTag zoneId,
CloudFlareAuth auth,
PagedDnsRecordParameters parameters = null)
DnsRecordGetParameters parameters = null)
{
if (client == null)
throw new ArgumentNullException(nameof(client));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@
/// Specifies the parameters of the <see cref="IDnsRecordClient.GetDnsRecordsAsync"/> request.
/// </summary>
/// <seealso href="https://api.cloudflare.com/#dns-records-for-a-zone-list-dns-records"/>
public class PagedDnsRecordParameters : PagedParameters<PagedDnsRecordOrderFieldTypes>
public class DnsRecordGetParameters : PagedParameters<DnsRecordOrderTypes>
{
/// <summary>
/// Initializes a new instance of the <see cref="PagedDnsRecordParameters"/> class.
/// Initializes a new instance of the <see cref="DnsRecordGetParameters"/> class.
/// </summary>
public PagedDnsRecordParameters(
public DnsRecordGetParameters(
DnsRecordType? type = null,
string name = null,
string content = null,
int page = 0,
int perPage = 0,
PagedDnsRecordOrderFieldTypes order = default(PagedDnsRecordOrderFieldTypes),
DnsRecordOrderTypes order = default(DnsRecordOrderTypes),
PagedParametersOrderType direction = default(PagedParametersOrderType),
PagedParametersMatchType match = default(PagedParametersMatchType))
: base(page, perPage, order, direction, match)
Expand Down Expand Up @@ -50,15 +50,15 @@ public PagedDnsRecordParameters(
public string Content { get; }

/// <summary>
/// Creates a <see cref="PagedZoneParameters"/> from the <paramref name="data"/> copying any matching
/// Creates a <see cref="DnsRecordGetParameters"/> from the <paramref name="data"/> copying any matching
/// properties.
/// </summary>
public static PagedDnsRecordParameters Create(object data)
public static DnsRecordGetParameters Create(object data)
{
if (data == null)
throw new ArgumentNullException(nameof(data));

return JObject.FromObject(data).ToObject<PagedDnsRecordParameters>();
return JObject.FromObject(data).ToObject<DnsRecordGetParameters>();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
/// Extension methods on <see cref="HttpClient"/> to wrap the Zone APIs
/// </summary>
/// <seealso href="https://api.cloudflare.com/#dns-records-for-a-zone"/>
public static class HttpClientDnsRecordExtensions
public static class DnsRecordHttpClientExtensions
{
/// <summary>
/// Gets the zones for the account specified by the <paramref name="auth"/> details.
Expand All @@ -22,7 +22,7 @@ public static Task<CloudFlareResponse<IReadOnlyList<DnsRecord>>> GetDnsRecordsAs
IdentifierTag zoneId,
CancellationToken cancellationToken,
CloudFlareAuth auth,
PagedDnsRecordParameters parameters = null)
DnsRecordGetParameters parameters = null)
{
if (zoneId == null)
throw new ArgumentNullException(nameof(zoneId));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
[SuppressMessage("StyleCop.CSharp.NamingRules", "SA1303:ConstFieldNamesMustBeginWithUpperCaseLetter",
Justification = "Named to match serialized values.")]
[JsonConverter(typeof(StringEnumConverter))]
public enum PagedDnsRecordOrderFieldTypes
public enum DnsRecordOrderTypes
{
none,
type,
Expand Down
44 changes: 44 additions & 0 deletions src/CloudFlare.NET/ZoneClient.Implementation.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
namespace CloudFlare.NET
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

/// <inheritdoc/>
public partial class CloudFlareClient : IZoneClient
{
/// <inheritdoc/>
public Task<CloudFlareResponse<IReadOnlyList<Zone>>> GetZonesAsync(
CancellationToken cancellationToken,
ZoneGetParameters parameters = null,
CloudFlareAuth auth = null)
{
return _client.GetZonesAsync(cancellationToken, auth ?? _auth, parameters);
}

/// <inheritdoc/>
public Task<IEnumerable<Zone>> GetAllZonesAsync(
CancellationToken cancellationToken,
ZoneGetParameters parameters = null,
CloudFlareAuth auth = null)
{
return GetAllPagedResultsAsync<Zone, ZoneGetParameters, ZoneOrderTypes>(
_client.GetZonesAsync,
cancellationToken,
auth ?? _auth,
50,
parameters);
}

/// <inheritdoc/>
public Task<Zone> GetZoneAsync(
IdentifierTag zoneId,
CancellationToken cancellationToken,
CloudFlareAuth auth = null)
{
return _client.GetZoneAsync(zoneId, cancellationToken, auth ?? _auth);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public interface IZoneClient
/// <seealso href="https://api.cloudflare.com/#zone-list-zones"/>
Task<CloudFlareResponse<IReadOnlyList<Zone>>> GetZonesAsync(
CancellationToken cancellationToken,
PagedZoneParameters parameters = null,
ZoneGetParameters parameters = null,
CloudFlareAuth auth = null);

/// <summary>
Expand All @@ -27,7 +27,7 @@ Task<CloudFlareResponse<IReadOnlyList<Zone>>> GetZonesAsync(
/// <seealso href="https://api.cloudflare.com/#zone-list-zones"/>
Task<IEnumerable<Zone>> GetAllZonesAsync(
CancellationToken cancellationToken,
PagedZoneParameters parameters = null,
ZoneGetParameters parameters = null,
CloudFlareAuth auth = null);

/// <summary>
Expand Down
8 changes: 4 additions & 4 deletions src/CloudFlare.NET/ZoneClientExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public static class ZoneClientExtensions
/// <seealso href="https://api.cloudflare.com/#zone-list-zones"/>
public static Task<CloudFlareResponse<IReadOnlyList<Zone>>> GetZonesAsync(
this IZoneClient client,
PagedZoneParameters parameters = null)
ZoneGetParameters parameters = null)
{
if (client == null)
throw new ArgumentNullException(nameof(client));
Expand All @@ -32,7 +32,7 @@ public static Task<CloudFlareResponse<IReadOnlyList<Zone>>> GetZonesAsync(
public static Task<CloudFlareResponse<IReadOnlyList<Zone>>> GetZonesAsync(
this IZoneClient client,
CloudFlareAuth auth,
PagedZoneParameters parameters = null)
ZoneGetParameters parameters = null)
{
if (client == null)
throw new ArgumentNullException(nameof(client));
Expand All @@ -48,7 +48,7 @@ public static Task<CloudFlareResponse<IReadOnlyList<Zone>>> GetZonesAsync(
/// <seealso href="https://api.cloudflare.com/#zone-list-zones"/>
public static Task<IEnumerable<Zone>> GetAllZonesAsync(
this IZoneClient client,
PagedZoneParameters parameters = null)
ZoneGetParameters parameters = null)
{
if (client == null)
throw new ArgumentNullException(nameof(client));
Expand All @@ -63,7 +63,7 @@ public static Task<IEnumerable<Zone>> GetAllZonesAsync(
public static Task<IEnumerable<Zone>> GetAllZonesAsync(
this IZoneClient client,
CloudFlareAuth auth,
PagedZoneParameters parameters = null)
ZoneGetParameters parameters = null)
{
if (client == null)
throw new ArgumentNullException(nameof(client));
Expand Down
Loading