public void TestParameterBuilderWithDefaults(string key, object value) { var builder = new ParameterBuilderHelper(); builder.InsertValue(key, value); builder.ParameterCollection.AllKeys.Should().BeEmpty(); }
public void TestParameterBuilder(string key, object value) { var expected = HttpUtility.UrlDecode(JsonConvert.SerializeObject(value).Replace("\"", "")); var builder = new ParameterBuilderHelper(); builder.InsertValue(key, value); builder.ParameterCollection.AllKeys.Length.Should().Be(1); builder.ParameterCollection.AllKeys.First().Should().Be(key); builder.ParameterCollection.GetValues(0).Should().BeEquivalentTo(expected); }
public Task <CloudFlareResult <IEnumerable <AccountMember> > > GetAccountMembersAsync(string accountId, int?page, int?perPage, OrderType?order) { var parameterBuilder = new ParameterBuilderHelper(); parameterBuilder .InsertValue(ApiParameter.Filtering.Page, page) .InsertValue(ApiParameter.Filtering.PerPage, perPage) .InsertValue(ApiParameter.Filtering.Direction, order); var parameterString = parameterBuilder.ParameterCollection; return(SendRequestAsync <IEnumerable <AccountMember> >(_httpClient.GetAsync( $"{ApiParameter.Endpoints.Account.Base}/{accountId}/{ApiParameter.Endpoints.Account.Members}/?{parameterString}"))); }
public async Task <CloudFlareResult <IEnumerable <Account> > > GetAccountsAsync(int?page, int?perPage, OrderType?order) { var parameterBuilder = new ParameterBuilderHelper(); parameterBuilder .InsertValue(ApiParameter.Filtering.Page, page) .InsertValue(ApiParameter.Filtering.PerPage, perPage) .InsertValue(ApiParameter.Filtering.Direction, order); var parameterString = parameterBuilder.ParameterCollection; return(await SendRequestAsync <IEnumerable <Account> >(_httpClient.GetAsync( $"{ApiParameter.Endpoints.Account.Base}/?{parameterString}")).ConfigureAwait(false)); }
/// <inheritdoc /> public async Task <CloudFlareResult <IReadOnlyList <FirewallRule> > > GetAsync(string zoneId, UnOrderableDisplayOptions displayOptions = null, CancellationToken cancellationToken = default) { var builder = new ParameterBuilderHelper() .InsertValue(Filtering.Page, displayOptions?.Page) .InsertValue(Filtering.PerPage, displayOptions?.PerPage); var requestUri = $"{ZoneEndpoints.Base}/{zoneId}/{ZoneEndpoints.FirewallRules}"; if (builder.ParameterCollection.HasKeys()) { requestUri = $"{requestUri}?{builder.ParameterCollection}"; } return(await Connection.GetAsync <IReadOnlyList <FirewallRule> >(requestUri, cancellationToken).ConfigureAwait(false)); }
/// <inheritdoc /> public async Task <CloudFlareResult <IReadOnlyList <Account> > > GetAsync(DisplayOptions displayOptions = null, CancellationToken cancellationToken = default) { var builder = new ParameterBuilderHelper() .InsertValue(Filtering.Page, displayOptions?.Page) .InsertValue(Filtering.PerPage, displayOptions?.PerPage) .InsertValue(Filtering.Direction, displayOptions?.Order); var requestUri = $"{AccountEndpoints.Base}"; if (builder.ParameterCollection.HasKeys()) { requestUri = $"{requestUri}/?{builder.ParameterCollection}"; } return(await Connection.GetAsync <IReadOnlyList <Account> >(requestUri, cancellationToken).ConfigureAwait(false)); }
public Task <CloudFlareResult <IEnumerable <Zone> > > GetZonesAsync(string name, ZoneStatus?status, int?page, int?perPage, OrderType?order, bool?match) { var parameterBuilder = new ParameterBuilderHelper(); parameterBuilder .InsertValue(ApiParameter.Filtering.Name, name) .InsertValue(ApiParameter.Filtering.Status, status) .InsertValue(ApiParameter.Filtering.Page, page) .InsertValue(ApiParameter.Filtering.PerPage, perPage) .InsertValue(ApiParameter.Filtering.Order, order) .InsertValue(ApiParameter.Filtering.Match, match); var parameterString = parameterBuilder.ParameterCollection; return(SendRequestAsync <IEnumerable <Zone> >(_httpClient.GetAsync( $"{ApiParameter.Endpoints.Zone.Base}/?{parameterString}"))); }
public Task <CloudFlareResult <IEnumerable <CustomHostname> > > GetCustomHostnamesByIdAsync(string zoneId, string id, int?page, int?perPage, CustomHostnameOrderType?type, OrderType?order, bool?ssl) { var parameterBuilder = new ParameterBuilderHelper(); parameterBuilder .InsertValue(ApiParameter.Filtering.Id, id) .InsertValue(ApiParameter.Filtering.Page, page) .InsertValue(ApiParameter.Filtering.PerPage, perPage) .InsertValue(ApiParameter.Filtering.Order, type) .InsertValue(ApiParameter.Filtering.Direction, order) .InsertValue(ApiParameter.Filtering.Ssl, ssl ?? false ? 1 : 0); var parameterString = parameterBuilder.ParameterCollection; return(SendRequestAsync <IEnumerable <CustomHostname> >(_httpClient.GetAsync( $"{ApiParameter.Endpoints.Zone.Base}/{zoneId}/{ApiParameter.Endpoints.CustomHostname.Base}?{parameterString}"))); }
public Task <CloudFlareResult <IEnumerable <DnsRecord> > > GetDnsRecordsAsync(string zoneId, DnsRecordType?type, string name, string content, int?page, int?perPage, OrderType?order, bool?match) { var parameterBuilder = new ParameterBuilderHelper(); parameterBuilder .InsertValue(ApiParameter.Filtering.DnsRecordType, type) .InsertValue(ApiParameter.Filtering.Name, name) .InsertValue(ApiParameter.Filtering.Content, content) .InsertValue(ApiParameter.Filtering.Page, page) .InsertValue(ApiParameter.Filtering.PerPage, perPage) .InsertValue(ApiParameter.Filtering.Order, order) .InsertValue(ApiParameter.Filtering.Match, match); var parameterString = parameterBuilder.ParameterCollection; return(SendRequestAsync <IEnumerable <DnsRecord> >( _httpClient.GetAsync($"{ApiParameter.Endpoints.Zone.Base}/{zoneId}/{ApiParameter.Endpoints.DnsRecord.Base}/?{parameterString}"))); }
public Task <CloudFlareResult <IEnumerable <UserMembership> > > GetMembershipsAsync(MembershipStatus?status, string accountName, int?page, int?perPage, MembershipOrder?membershipOrder, OrderType?order) { var parameterBuilder = new ParameterBuilderHelper(); parameterBuilder .InsertValue(ApiParameter.Filtering.Status, status) .InsertValue(ApiParameter.Filtering.AccountName, accountName) .InsertValue(ApiParameter.Filtering.Page, page) .InsertValue(ApiParameter.Filtering.PerPage, perPage) .InsertValue(ApiParameter.Filtering.Order, membershipOrder) .InsertValue(ApiParameter.Filtering.Direction, order); var parameterString = parameterBuilder.ParameterCollection; return(SendRequestAsync <IEnumerable <UserMembership> >(_httpClient.GetAsync( $"{ApiParameter.Endpoints.Membership.Base}/?{parameterString}"))); }
/// <inheritdoc /> public async Task <CloudFlareResult <IReadOnlyList <DnsRecord> > > GetAsync(string zoneId, DnsRecordFilter filter = null, DisplayOptions displayOptions = null, CancellationToken cancellationToken = default) { var builder = new ParameterBuilderHelper() .InsertValue(Filtering.DnsRecordType, filter?.Type) .InsertValue(Filtering.Name, filter?.Name) .InsertValue(Filtering.Content, filter?.Content) .InsertValue(Filtering.Page, displayOptions?.Page) .InsertValue(Filtering.PerPage, displayOptions?.PerPage) .InsertValue(Filtering.Order, displayOptions?.Order) .InsertValue(Filtering.Match, filter?.Match); var requestUri = $"{ZoneEndpoints.Base}/{zoneId}/{DnsRecordEndpoints.Base}"; if (builder.ParameterCollection.HasKeys()) { requestUri = $"{requestUri}/?{builder.ParameterCollection}"; } return(await Connection.GetAsync <IReadOnlyList <DnsRecord> >(requestUri, cancellationToken).ConfigureAwait(false)); }
/// <inheritdoc /> public async Task <CloudFlareResult <IReadOnlyList <Filter> > > GetAsync(string zoneId, FilterRequestFilter filter = null, UnOrderableDisplayOptions displayOptions = null, CancellationToken cancellationToken = default) { var builder = new ParameterBuilderHelper() .InsertValue(Filtering.Id, filter?.Id) .InsertValue(Filtering.Paused, filter?.Paused) .InsertValue(Filtering.Expression, filter?.Expression) .InsertValue(Filtering.Description, filter?.Description) .InsertValue(Filtering.Ref, filter?.Ref) .InsertValue(Filtering.Page, displayOptions?.Page) .InsertValue(Filtering.PerPage, displayOptions?.PerPage); var requestUri = $"{ZoneEndpoints.Base}/{zoneId}/{FilterEndpoints.Base}"; if (builder.ParameterCollection.HasKeys()) { requestUri = $"{requestUri}/?{builder.ParameterCollection}"; } return(await Connection.GetAsync <IReadOnlyList <Filter> >(requestUri, cancellationToken).ConfigureAwait(false)); }
/// <inheritdoc /> public async Task <CloudFlareResult <IReadOnlyList <Zone> > > GetAsync(ZoneFilter filter = null, DisplayOptions displayOptions = null, CancellationToken cancellationToken = default) { var builder = new ParameterBuilderHelper() .InsertValue(Filtering.AccountId, filter?.AccountId) .InsertValue(Filtering.AccountName, filter?.AccountName) .InsertValue(Filtering.Name, filter?.Name) .InsertValue(Filtering.Status, filter?.Status) .InsertValue(Filtering.Match, filter?.Match) .InsertValue(Filtering.Page, displayOptions?.Page) .InsertValue(Filtering.PerPage, displayOptions?.PerPage) .InsertValue(Filtering.Order, displayOptions?.Order); var requestUri = $"{ZoneEndpoints.Base}"; if (builder.ParameterCollection.HasKeys()) { requestUri = $"{requestUri}/?{builder.ParameterCollection}"; } return(await Connection.GetAsync <IReadOnlyList <Zone> >(requestUri, cancellationToken).ConfigureAwait(false)); }
/// <inheritdoc /> public async Task <CloudFlareResult <IReadOnlyList <CustomHostname> > > GetAsync(string zoneId, CustomHostnameFilter filter = null, DisplayOptions displayOptions = null, CancellationToken cancellationToken = default) { var builder = new ParameterBuilderHelper(); builder .InsertValue(Filtering.Id, filter?.CustomHostnameId) .InsertValue(Filtering.Hostname, filter?.Hostname) .InsertValue(Filtering.Order, filter?.OrderType) .InsertValue(Filtering.Ssl, filter?.Ssl ?? false ? 1 : 0) .InsertValue(Filtering.Page, displayOptions?.Page) .InsertValue(Filtering.PerPage, displayOptions?.PerPage) .InsertValue(Filtering.Direction, displayOptions?.Order); var requestUri = $"{ZoneEndpoints.Base}/{zoneId}/{CustomHostnameEndpoints.Base}"; if (builder.ParameterCollection.HasKeys()) { requestUri = $"{requestUri}/?{builder.ParameterCollection}"; } return(await Connection.GetAsync <IReadOnlyList <CustomHostname> >(requestUri, cancellationToken).ConfigureAwait(false)); }