KuttSharp Save

🔪 .NET Package for kutt.it url shortener

Project README

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

NuGet NuGet Downloads Build status

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
}
Open Source Agenda is not affiliated with "KuttSharp" Project. README Source: avestura/KuttSharp
Stars
30
Open Issues
5
Last Commit
1 year ago
Repository
License
MIT
Homepage

Open Source Agenda Badge

Open Source Agenda Rating