Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/gitFurious/HaloSharp
Browse files Browse the repository at this point in the history
  • Loading branch information
Damon Pollard committed Dec 26, 2015
2 parents 992e426 + 24a073b commit f591f21
Showing 1 changed file with 72 additions and 10 deletions.
82 changes: 72 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,27 @@ The purpose of this project is to create a dead simple C# wrapper for the offici

HaloSharp attempts to fully support all available official endpoints.

## Usage ##
### Usage ###

1. Create an instance of `HaloClient` (provide your API Key).
1. Create an instance of `HaloClient` (provide your SubscriptionKey and optionally a RateLimit).
2. Call the `StartSession` method.
3. Call the `.Query<TResult>()` method and pass in a prepackaged Query object.

###### Sample ######

```
var client = new HaloClient("00000000000000000000000000000000");
var developerAccessProduct = new Product
{
SubscriptionKey = "00000000000000000000000000000000",
RateLimit = new RateLimit
{
RequestCount = 10,
TimspSpan = new TimeSpan(0, 0, 0, 10),
Timeout = Timeout.InfiniteTimeSpan
}
};
var client = new HaloClient(developerAccessProduct);
using (var session = client.StartSession())
{
Expand All @@ -30,24 +41,75 @@ using (var session = client.StartSession())
}
```

## NuGet ##
### NuGet ###

A Nuget package is available at [www.nuget.org/packages/HaloSharp](https://www.nuget.org/packages/HaloSharp)

`PM> Install-Package HaloSharp`

## To Do ##
### Changelog ###

###### v.1.1.00 (2015-12-26)

1. Rate Limiter: Optional rate limiter with timeout settings.

2. JSON Structural Validation (JSON Schema): A significant update to the test harness. Using JSON schemas to detect changes to API responses.

3. Serialization: Strongly typed models are now serializable.

4. Metadata Endpoints
* Seasons

5. Profile Endpoints
* Emblem Url
* Spartan Url

###### v.1.0.0.0 (2015-11-04)######

1. Metadata Endpoints
* Campaign Missions
* Commendations
* CSR Designations
* Enemies
* Flexible Stats
* Game Base Variants
* Game Variants
* Impulses
* Map Variants
* Maps
* Medals
* Playlists
* Requisition Packs
* Requisitions
* Skulls
* Spartan Ranks
* Team Colors
* Vehicles
* Weapons

2. Profile Endpoints
* Emblem Image
* Spartan Image

3. Stats Endpoints
* Player Matches
* Arena Carnage Report
* Arena Service Record
* Campaign Carnage Report
* Campaign Service Record
* Custom Carnage Report
* Custom Service Record
* Warzone Carnage Report
* Warzone Service Record

* Rate limiting.
* Better unit testing.

## Notes ##
### Notes ###

* The Halo® Game Data API is still in a Beta period. Breaking changes are to be expected.
* Pull requests are welcome. Especially if you're cleaing out the todo list :)
* 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](https://github.com/gitFurious/HaloSharp/blob/master/Source/HaloSharp.Test/Setup.cs))

## About ##
### 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.

0 comments on commit f591f21

Please sign in to comment.