Quickly and easily access any RESTful or RESTful-like API.
If you are looking for the SendGrid API client library, please see this repo.
All updates to this project is documented in our CHANGELOG.
- .NET version 4.5.2
To use CSharp.HTTP.Client in your C# project, you can either download the SendGrid C# .NET libraries directly from our Github repository or, if you have the NuGet package manager installed, you can grab them automatically.
PM> Install-Package SendGrid.CSharp.Http.Client
Once you have the library properly referenced in your project, you can include calls to them in your code. For a sample implementation, check the Example folder.
Add the following namespace to use the library:
using SendGrid.CSharp.HTTP.Client;
Here is a quick example:
GET /your/api/{param}/call
using SendGrid.CSharp.HTTP.Client;
globalRequestHeaders.Add("Authorization", "Bearer XXXXXXX");
dynamic client = new Client(host: baseUrl, requestHeaders: globalRequestHeaders);
var response = await client.your.api._(param).call.get()
Console.WriteLine(response.StatusCode);
Console.WriteLine(response.Body.ReadAsStringAsync().Result);
Console.WriteLine(response.Headers.ToString());
POST /your/api/{param}/call
with headers, query parameters and a request body with versioning.
using SendGrid.CSharp.HTTP.Client;
using Newtonsoft.Json;
globalRequestHeaders.Add("Authorization", "Bearer XXXXXXX");
dynamic client = new Client(host: baseUrl, requestHeaders: globalRequestHeaders);
string queryParams = @"{'Hello': 0, 'World': 1}";
requestHeaders.Add("X-Test", "test");
string requestBody = @"{'some': 1, 'awesome': 2, 'data': 3}";
Object json = JsonConvert.DeserializeObject<Object>(requestBody);
var response = await client.your.api._(param).call.post(requestBody: json.ToString(),
queryParams: queryParams,
requestHeaders: requestHeaders)
Console.WriteLine(response.StatusCode);
Console.WriteLine(response.Body.ReadAsStringAsync().Result);
Console.WriteLine(response.Headers.ToString());
If you are intersted in the future direction of this project, please take a look at our milestones. We would love to hear your feedback.
We encourage contribution to our projects, please see our CONTRIBUTING guide for details.
Quick links:
We were inspired by the work done on birdy and universalclient.
csharp-http-client is guided and supported by the SendGrid Developer Experience Team.
csharp-http-client is maintained and funded by SendGrid, Inc. The names and logos for csharp-http-client are trademarks of SendGrid, Inc.
![SendGrid Logo] (https://uiux.s3.amazonaws.com/2016-logos/email-logo%402x.png)