summaryrefslogtreecommitdiffstats
path: root/examples/accesssettings/accesssettings.cs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/accesssettings/accesssettings.cs')
-rw-r--r--examples/accesssettings/accesssettings.cs92
1 files changed, 92 insertions, 0 deletions
diff --git a/examples/accesssettings/accesssettings.cs b/examples/accesssettings/accesssettings.cs
new file mode 100644
index 0000000..15fe8b0
--- /dev/null
+++ b/examples/accesssettings/accesssettings.cs
@@ -0,0 +1,92 @@
+using System;
+using SendGrid.Helpers.Mail;
+using System.Collections.Generic;
+
+string _apiKey = Environment.GetEnvironmentVariable("SENDGRID_APIKEY", EnvironmentVariableTarget.User);
+dynamic sg = new SendGrid.SendGridAPIClient(_apiKey);
+
+////////////////////////////////////////////////////////
+// Retrieve all recent access attempts
+// GET /access_settings/activity
+
+string queryParams = @"{
+ 'limit': 1
+}";
+dynamic response = sg.client.access_settings.activity.get(queryParams: queryParams);
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Add one or more IPs to the whitelist
+// POST /access_settings/whitelist
+
+string data = @"{
+ 'ips': [
+ {
+ 'ip': '192.168.1.1'
+ },
+ {
+ 'ip': '192.*.*.*'
+ },
+ {
+ 'ip': '192.168.1.3/32'
+ }
+ ]
+}";
+dynamic response = sg.client.access_settings.whitelist.post(requestBody: data);
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Retrieve a list of currently whitelisted IPs
+// GET /access_settings/whitelist
+
+dynamic response = sg.client.access_settings.whitelist.get();
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Remove one or more IPs from the whitelist
+// DELETE /access_settings/whitelist
+
+string data = @"{
+ 'ids': [
+ 1,
+ 2,
+ 3
+ ]
+}";
+dynamic response = sg.client.access_settings.whitelist.delete(requestBody: data);
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Retrieve a specific whitelisted IP
+// GET /access_settings/whitelist/{rule_id}
+
+var rule_id = "test_url_param";
+dynamic response = sg.client.access_settings.whitelist._(rule_id).get();
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+
+////////////////////////////////////////////////////////
+// Remove a specific IP from the whitelist
+// DELETE /access_settings/whitelist/{rule_id}
+
+var rule_id = "test_url_param";
+dynamic response = sg.client.access_settings.whitelist._(rule_id).delete();
+Console.WriteLine(response.StatusCode);
+Console.WriteLine(response.Body.ReadAsStringAsync().Result);
+Console.WriteLine(response.Headers.ToString());
+Console.ReadLine();
+