summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElmer Thomas <elmer@thinkingserious.com>2016-10-19 14:32:01 -0700
committerElmer Thomas <elmer@thinkingserious.com>2016-10-19 14:32:01 -0700
commit05df5a910634e7bdfec8469f403fcde68ac572dd (patch)
tree9e45bb7002aea9ba1fd6c7f1aafb5caeada9d093
parent66a3a4d367e67e0f8145d8aca4de25e068ccb533 (diff)
downloadsendgrid-csharp-05df5a910634e7bdfec8469f403fcde68ac572dd.zip
sendgrid-csharp-05df5a910634e7bdfec8469f403fcde68ac572dd.tar.gz
sendgrid-csharp-05df5a910634e7bdfec8469f403fcde68ac572dd.tar.bz2
Combined SendGridAPIClient into Client
-rw-r--r--SendGrid/Example/Example.cs10
-rw-r--r--SendGrid/SendGrid/Client.cs43
2 files changed, 14 insertions, 39 deletions
diff --git a/SendGrid/Example/Example.cs b/SendGrid/Example/Example.cs
index 35c209b..8360a1b 100644
--- a/SendGrid/Example/Example.cs
+++ b/SendGrid/Example/Example.cs
@@ -31,9 +31,7 @@ namespace Example
{
String apiKey = Environment.GetEnvironmentVariable("SENDGRID_APIKEY",
EnvironmentVariableTarget.User);
- SendGridAPIClient sg = new SendGridAPIClient(apiKey: apiKey,
- baseUri: "https://api.sendgrid.com",
- urlPath: "mail/send");
+ Client client = new Client(apiKey: apiKey);
Email from = new Email("dx@sendgrid.com");
String subject = "I'm replacing the subject tag";
@@ -46,9 +44,9 @@ namespace Example
mail.Personalization[0].AddSubstitution("-city-", "Denver");
Console.WriteLine(mail.Get());
- Response response = await sg.Client.RequestAsync(method: SendGridAPIClient.Methods.POST,
- requestBody: mail.Get(),
- urlPath: "mail/send");
+ Response response = await client.RequestAsync(method: SendGridAPIClient.Methods.POST,
+ requestBody: mail.Get(),
+ urlPath: "mail/send");
Console.WriteLine(response.StatusCode);
Console.WriteLine(response.Body.ReadAsStringAsync().Result);
Console.WriteLine(response.Headers.ToString());
diff --git a/SendGrid/SendGrid/Client.cs b/SendGrid/SendGrid/Client.cs
index 1aa8785..e58d9cb 100644
--- a/SendGrid/SendGrid/Client.cs
+++ b/SendGrid/SendGrid/Client.cs
@@ -12,36 +12,6 @@ using System.Reflection;
namespace SendGrid
{
- public class SendGridAPIClient
- {
- private string _apiKey;
- public string Version;
- public Client Client;
- private Uri _baseUri;
- public enum Methods
- {
- GET, POST, PATCH, DELETE
- }
-
- /// <summary>
- /// Create a client that connects to the SendGrid Web API
- /// </summary>
- /// <param name="apiKey">Your SendGrid API Key</param>
- /// <param name="baseUri">Base SendGrid API Uri</param>
- public SendGridAPIClient(string apiKey, String baseUri = "https://api.sendgrid.com", String version = "v3", String urlPath = null)
- {
- _baseUri = new Uri(baseUri);
- _apiKey = apiKey;
- Version = Assembly.GetExecutingAssembly().GetName().Version.ToString();
- Dictionary<String, String> requestHeaders = new Dictionary<String, String>();
- requestHeaders.Add("Authorization", "Bearer " + apiKey);
- requestHeaders.Add("Content-Type", "application/json");
- requestHeaders.Add("User-Agent", "sendgrid/" + Version + " csharp");
- requestHeaders.Add("Accept", "application/json");
- Client = new Client(host: baseUri, requestHeaders: requestHeaders, version: version, urlPath: urlPath);
- }
- }
-
public class Response
{
public HttpStatusCode StatusCode;
@@ -111,8 +81,8 @@ namespace SendGrid
/// <param name="version">API version, override AddVersion to customize</param>
/// <param name="urlPath">Path to endpoint (e.g. /path/to/endpoint)</param>
/// <returns>Interface to the SendGrid REST API</returns>
- public Client(WebProxy webProxy, string host, Dictionary<string, string> requestHeaders = null, string version = null, string urlPath = null)
- : this(host, requestHeaders, version, urlPath)
+ public Client(WebProxy webProxy, string apiKey, string host = "https://api.sendgrid.com", Dictionary<string, string> requestHeaders = null, string version = "v3", string urlPath = null)
+ : this(apiKey, host, requestHeaders, version, urlPath)
{
WebProxy = webProxy;
}
@@ -125,9 +95,16 @@ namespace SendGrid
/// <param name="version">API version, override AddVersion to customize</param>
/// <param name="urlPath">Path to endpoint (e.g. /path/to/endpoint)</param>
/// <returns>Interface to the SendGrid REST API</returns>
- public Client(string host, Dictionary<string, string> requestHeaders = null, string version = null, string urlPath = null)
+ public Client(string apiKey, string host = "https://api.sendgrid.com", Dictionary<string, string> requestHeaders = null, string version = "v3", string urlPath = null)
{
Host = host;
+ Version = Assembly.GetExecutingAssembly().GetName().Version.ToString();
+ Dictionary<String, String> defaultHeaders = new Dictionary<String, String>();
+ defaultHeaders.Add("Authorization", "Bearer " + apiKey);
+ defaultHeaders.Add("Content-Type", "application/json");
+ defaultHeaders.Add("User-Agent", "sendgrid/" + Version + " csharp");
+ defaultHeaders.Add("Accept", "application/json");
+ AddRequestHeader(defaultHeaders);
if (requestHeaders != null)
{
AddRequestHeader(requestHeaders);