All Projects → gitFurious → HaloSharp

gitFurious / HaloSharp

Licence: MIT License
A C# wrapper for the Halo® 5 Game Data API.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to HaloSharp

client-js
JS client for polygon.io api
Stars: ✭ 81 (+237.5%)
Mutual labels:  api-client
pyark
CyberArk Enterprise Password Vault API CLI tool
Stars: ✭ 25 (+4.17%)
Mutual labels:  api-client
activecollab-feather-sdk
PHP SDK for ActiveCollab 5 and 6 API
Stars: ✭ 47 (+95.83%)
Mutual labels:  api-client
sleeper-api-wrapper
A Python wrapper for the Sleeper Fantasy Football API.
Stars: ✭ 41 (+70.83%)
Mutual labels:  api-client
WeConnect-python
Python API for the Volkswagen WeConnect Services
Stars: ✭ 27 (+12.5%)
Mutual labels:  api-client
halo-theme-joe2.0
🌈 一款 Halo 博客主题 Joe2.0
Stars: ✭ 264 (+1000%)
Mutual labels:  halo
StudentVue.py
Python StudentVue Library
Stars: ✭ 17 (-29.17%)
Mutual labels:  api-client
Workday.WebServices
Workday API clients
Stars: ✭ 18 (-25%)
Mutual labels:  api-client
pcloud-sdk-js
pCloud's Javascript SDK
Stars: ✭ 62 (+158.33%)
Mutual labels:  api-client
CveXplore
CveXplore
Stars: ✭ 21 (-12.5%)
Mutual labels:  api-client
lua-api-client
Lua REST API Client
Stars: ✭ 30 (+25%)
Mutual labels:  api-client
xing-android-sdk
The Official XING API client for Java/Android
Stars: ✭ 33 (+37.5%)
Mutual labels:  api-client
protonmail-api
✉ Node.js API for ProtonMail
Stars: ✭ 108 (+350%)
Mutual labels:  api-client
laravel-transporter
Transporter is a futuristic way to send API requests in PHP. This is an OOP approach to handling API requests.
Stars: ✭ 282 (+1075%)
Mutual labels:  api-client
doccano-client
A simple client wrapper for doccano API.
Stars: ✭ 52 (+116.67%)
Mutual labels:  api-client
content-api-scala-client
A Scala client library for the Guardian's Content API
Stars: ✭ 37 (+54.17%)
Mutual labels:  api-client
bitrix
Bitrix24 REST API client that doesn't suck. Suffer no more.
Stars: ✭ 59 (+145.83%)
Mutual labels:  api-client
genderize
Python client for the Genderize.io web service.
Stars: ✭ 59 (+145.83%)
Mutual labels:  api-client
SignNowNodeSDK
The Official SignNow Node.js Client Library for interacting with SignNow REST API. Sign documents, request e-signatures, and build role-based workflows with multiple signers using this client.
Stars: ✭ 14 (-41.67%)
Mutual labels:  api-client
RESTEasy
REST API calls made easier
Stars: ✭ 12 (-50%)
Mutual labels:  api-client

HaloSharp

The purpose of this project is to create a dead simple C# wrapper for the official Halo® Game Data API (developer.haloapi.com).

HaloSharp attempts to fully support all available official endpoints.

Features

  • All available games (Halo 5, Halo 5: Forge, Halo Wars 2).
  • Query builders for all endpoints.
  • Request rate limiter.
  • Response caching.

Usage

  1. Create an instance of HaloClient. Provide your SubscriptionKey at a minimum, optionally include a RateLimit and CacheDuration(s).
  2. Call the StartSession method.
  3. Call the .Query<TResult>() method and pass in a prepackaged Query object.
Sample
var product = new Product
{
	SubscriptionKey = "00000000000000000000000000000000",
	RateLimit = new RateLimit
	{
		RequestCount = 200,
		TimeSpan = new TimeSpan(0, 0, 0, 10),
		Timeout = new TimeSpan(0, 0, 0, 10)
	}
};

var cacheSettings = new CacheSettings
{
	CacheDuration = new TimeSpan(0, 1, 0, 0)
};

var haloClient = new HaloClient(product, cacheSettings);

using (var session = haloClient.StartSession())
{
    var halo5MatchHistory = new Query.Halo5.Stats.GetMatchHistory("Furiousn00b");

    var halo5MatchSet = await session.Query(halo5MatchHistory);

    foreach (var result in halo5MatchSet.Results)
    {
        System.Console.WriteLine($"H5: MatchId: {result.Id.MatchId}");
    }
	
	var haloWars2MatchHistory = new Query.HaloWars2.Stats.GetMatchHistory("Furiousn00b");

    var haloWars2MatchSet = await session.Query(haloWars2MatchHistory);

    foreach (var result in haloWars2MatchSet.Results)
    {
        System.Console.WriteLine($"HW2: MatchId: {match.MatchId}");
    }
}

NuGet

A Nuget package is available at www.nuget.org/packages/HaloSharp

PM> Install-Package HaloSharp

Notes

  • The Halo® Game Data API is still in a Beta period. Breaking changes are to be expected.
  • Pull requests are welcome.
  • If you see something or think something could be done better, shout out. I'm all ears.
  • Review the HaloSharp.Test project for examples on each of the different endpoints and their usages.
  • You'll need to provide your own API Key to run the test suite. (Setup.cs)

About

This application is offered by Damon Pollard, which is solely responsible for its content. It is not sponsored or endorsed by Microsoft. This application uses the Halo® Game Data API. Halo © 2015 Microsoft Corporation. All rights reserved. Microsoft, Halo, and the Halo Logo are trademarks of the Microsoft group of companies.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].