Awesome
KuttSharp
.NET Package for kutt.it url shortener
⚠️ WARNING
⚠️ KuttSharp currently only supports v1 of the Kutt API. I have no plans to support v2, therefore you might want to look for an alternative.
ℹ️ Since the newer version of Kutt API uses OpenAPI, the best option probably would be to just use an OpenAPI client generator.
Installation
Simply add KuttSharp
nuget package to your project
API
First create a new instance of KuttApi
then use examples below:
// Use defualt Kutt server
var api = new KuttApi("apiKey");
// Use a self-hosted Kutt server as string or System.Uri
var api = new KuttApi("apiKey", "https://MyOwnSelfHostedKutt.it")
Submit
var submitedItem = await api.SubmitAsync(
target: "https://example.com",
customUrl: "customUrl",
password: "password",
reuse: true
);
// Now you can use properties of created item
if (submitedItem.IsPasswordRequired)
{
Console.WriteLine(submitedItem.CreatedAt.Year);
}
Delete
await api.DeleteAsync(id: "url_id");
GetUrls
var list = await api.GetUrlsAsync();
Console.WriteLine($"First item visits count: {list[0].Visits}");
GetStats
var stats = await api.GetStatsAsync(id: "url_id");
Console.WriteLine(stats.LastWeek.ClientStats.Referrer[0].Name);
Error handling
var api = new KuttApi("apiKey");
try
{
var result = await api.SubmitAsync("https://example.com", reuse: true);
}
catch (KuttException kex) when (kex.Message == "No id has been provided.")
{
// Handle custom kutt exception
}
catch (KuttException)
{
// Handle all other kutt exceptions
}
catch
{
// Handle other errors
}