This repository has been archived by the owner. It is now read-only.
Some kind of a RestSharp port to PCL
Latest commit 6ceaa94 Apr 10, 2018

README.md

Portable RestSharp

THIS PROJECT IS NO LONGER MAINTAINED

Please use System.Net.Http.HttpClient instead.

Old README contents

Build status

Join the chat at https://gitter.im/FubarDevelopment/restsharp.portable

This is some kind of a RestSharp port as PCL and for .NET Core.

License

This project is licensed using the BSD 2-Clause License

NuGet packages

Description Badge
Core library FubarCoder.RestSharp.Portable.Core
Request engine using HttpWebRequest FubarCoder.RestSharp.Portable.WebRequest
Request engine using HttpClient FubarCoder.RestSharp.Portable.HttpClient
OAuth 1.0(a) authentication support FubarCoder.RestSharp.Portable.OAuth1
OAuth 2.0 authentication support FubarCoder.RestSharp.Portable.OAuth2
Content encoding support (GZip/Deflate) FubarCoder.RestSharp.Portable.Encodings

Request engines

RestSharp.Portable can use either HttpWebRequest or HttpClient as request engine.

HttpWebRequest request engine

Advantage:

  • Mature

Disadvantage:

  • Not configurable

HttpClient request engine

Advantage:

  • Configurable (maybe better performance on iOS/Adroid through ModernHttpClient)

Disadvantage:

  • Behaves differently on different platforms

Changes

Supported platforms

  • .NET Core
  • .NET Framework 4
  • .NET for Windows Store apps
  • .NET Native
  • Windows Phone 8 and 8.1
  • Silverlight 5
  • Portable Class Libraries
  • Xamarin Android
  • Xamarin MonoTouch / iOS

Small example

The following is an example to get the ticker from the bitstamp.net website.

The result class

public class TickerResult
{
	public decimal Last { get; set; }
	public decimal High { get; set; }
	public decimal Low { get; set; }
	public decimal Volume { get; set; }
	public decimal Bid { get; set; }
	public decimal Ask { get; set; }
}

We use the class with:

using (var client = new RestClient(new Uri("https://www.bitstamp.net/api/")))
{
    var request = new RestRequest("ticker", Method.GET);
    var result = await client.Execute<TickerResult>(request);
}

Contributors

Community Support

The support for community projects can be found in my subreddit /r/FubarDev.

Professional Support

You can get professional support here: Fubar Development Junker