diff --git a/.gitattributes b/.gitattributes
index 83fb9913..1a414a6a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1 @@
# Declare files that will always have CRLF line endings on checkout.
-* text eol=lf
diff --git a/src/NuGet.Config b/src/NuGet.Config
new file mode 100644
index 00000000..abc5b137
--- /dev/null
+++ b/src/NuGet.Config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/SparkPost/IMessageEvents.cs b/src/SparkPost/IMessageEvents.cs
index a4a58cd9..4e073225 100644
--- a/src/SparkPost/IMessageEvents.cs
+++ b/src/SparkPost/IMessageEvents.cs
@@ -5,7 +5,8 @@ namespace SparkPost
public interface IMessageEvents
{
Task List();
- Task List(object query);
+ Task List(MessageEventsQuery query);
+ Task List(string url);
Task SamplesOf(string events);
}
}
\ No newline at end of file
diff --git a/src/SparkPost/MessageEvents.cs b/src/SparkPost/MessageEvents.cs
index 5139e48b..42f84e98 100644
--- a/src/SparkPost/MessageEvents.cs
+++ b/src/SparkPost/MessageEvents.cs
@@ -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
{
@@ -19,18 +19,26 @@ public MessageEvents(IClient client, IRequestSender requestSender)
public async Task List()
{
- return await List(null);
+ return await List((MessageEventsQuery)null);
}
- public async Task List(object messageEventsQuery)
+ public async Task List(MessageEventsQuery messageEventsQuery)
{
- if (messageEventsQuery == null) messageEventsQuery = new { };
+ return await this.List($"/api/{client.Version}/events/message", messageEventsQuery);
+ }
+ public async Task List(string url)
+ {
+ return await this.List(url, null);
+ }
+
+ public async Task 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);
diff --git a/src/SparkPost/MessageEventsQuery.cs b/src/SparkPost/MessageEventsQuery.cs
index 87ba93f5..ead8871d 100644
--- a/src/SparkPost/MessageEventsQuery.cs
+++ b/src/SparkPost/MessageEventsQuery.cs
@@ -1,7 +1,5 @@
-using SparkPost.Utilities;
using System;
using System.Collections.Generic;
-using System.Linq;
namespace SparkPost
{
@@ -58,16 +56,17 @@ public MessageEventsQuery()
public IList MessageIds { get; set; }
///
- /// 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.
///
- public int? Page { get; set; }
+ public string Cursor { get; set; }
///
- /// 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.
///
public int? PerPage { get; set; }