Skip to content

Using the library (example)

CraftingDragon007 edited this page May 10, 2022 · 1 revision

Here's a basic example for using the library:

using KekUploadLibrary;

namespace KekUploadLibraryTestApp;

class Program {
    private static void Main(string[] args)
    {
        if (args.Length == 0)
        {
            Console.WriteLine("Usage: KekUploadLibraryTestApp <file>");
            return;
        }
        var client = new UploadClient("https://u.gamepowerx.com/api");
        client.UploadCompleteEvent += (sender, eventArgs) =>
        {
            Console.WriteLine("Upload complete");
        };
        client.UploadChunkCompleteEvent += (sender, eventArgs) =>
        {
            Console.WriteLine("Upload progress: {0}/{1} Chunks completed", eventArgs.CurrentChunkCount, eventArgs.TotalChunkCount);
        };
        client.UploadStreamCreateEvent += (sender, eventArgs) =>
        {
            Console.WriteLine("Created Upload Stream with ID: " + eventArgs.UploadStreamId);
        };
        client.UploadErrorEvent += (sender, eventArgs) =>
        {
            if(eventArgs.ErrorResponse != null)
            {
                Console.WriteLine("Error: " + eventArgs.ErrorResponse);
                Console.WriteLine("Exception: " + eventArgs.Exception);
            }else
            {
                Console.WriteLine("Error: " + eventArgs.Exception);
            }
        };
        try
        {
            var result = client.UploadFile(args[0]);
            Console.WriteLine(result);
        }
        catch (KekException e)
        {
            Console.WriteLine(e.Error?.ToString());
            throw;
        }
    }
}

Clone this wiki locally