Skip to content
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
1 change: 0 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
# Declare files that will always have CRLF line endings on checkout.
* text eol=lf
6 changes: 6 additions & 0 deletions src/NuGet.Config
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="packages" />
</config>
</configuration>
3 changes: 2 additions & 1 deletion src/SparkPost/IMessageEvents.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ namespace SparkPost
public interface IMessageEvents
{
Task<ListMessageEventsResponse> List();
Task<ListMessageEventsResponse> List(object query);
Task<ListMessageEventsResponse> List(MessageEventsQuery query);
Task<ListMessageEventsResponse> List(string url);
Task<MessageEventSampleResponse> SamplesOf(string events);
}
}
22 changes: 15 additions & 7 deletions src/SparkPost/MessageEvents.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
using System.Collections.Generic;
using SparkPost.RequestSenders;
using SparkPost.Utilities;
using System.Collections.Generic;
using System.Net;
using System.Threading.Tasks;
using SparkPost.Utilities;

namespace SparkPost
{
Expand All @@ -19,18 +19,26 @@ public MessageEvents(IClient client, IRequestSender requestSender)

public async Task<ListMessageEventsResponse> List()
{
return await List(null);
return await List((MessageEventsQuery)null);
}

public async Task<ListMessageEventsResponse> List(object messageEventsQuery)
public async Task<ListMessageEventsResponse> List(MessageEventsQuery messageEventsQuery)
{
if (messageEventsQuery == null) messageEventsQuery = new { };
return await this.List($"/api/{client.Version}/events/message", messageEventsQuery);
}

public async Task<ListMessageEventsResponse> List(string url)
{
return await this.List(url, null);
}

public async Task<ListMessageEventsResponse> List(string url, MessageEventsQuery messageEventsQuery)
{
var request = new Request
{
Url = $"/api/{client.Version}/events/message",
Url = url,
Method = "GET",
Data = messageEventsQuery
Data = (object)messageEventsQuery ?? new { }
};

var response = await requestSender.Send(request);
Expand Down
15 changes: 7 additions & 8 deletions src/SparkPost/MessageEventsQuery.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
using SparkPost.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;

namespace SparkPost
{
Expand Down Expand Up @@ -58,16 +56,17 @@ public MessageEventsQuery()
public IList<string> MessageIds { get; set; }

/// <summary>
/// page : number : The results page number to return. Used with per_page for paging through results.
/// Example: 25.
/// Default: 1.
/// cursor : String : Results cursor for pagination. Used in conjunction with per_page parameter. See Pagination section for details.
/// Example: WycyMDE4LTExLTA1VDIyOjQ1OjM5LjAwMFonLCAnc3BjLTM4MTQ1MjY3MjMyNTA2NTEwJ10=.
/// Default: initial.
/// </summary>
public int? Page { get; set; }
public string Cursor { get; set; }

/// <summary>
/// per_page : Number : Number of results to return per page. Must be between 1 and 10,000 (inclusive).
/// Example: 100.
/// per_page : Number : Maximum number of results to return per page. Must be between 1 and 10,000.
/// Example: 5000.
/// Default: 1000.
/// Note: Pagination requests count towards the number of requests allowed by rate limiting, the same as non-paginated requests.
/// </summary>
public int? PerPage { get; set; }

Expand Down