Skip to content

fb-datax/RestSharp-.NET-2.0-Fork

This branch is up to date with mcintyre321/RestSharp-.NET-2.0-Fork:master.

Folders and files

NameName
Last commit message
Last commit date
Jan 22, 2012
Jan 19, 2012
Jan 22, 2012
Oct 28, 2011
Mar 20, 2012
Feb 13, 2012
Feb 13, 2012
Feb 13, 2012
Feb 13, 2012
Mar 20, 2012
Nov 15, 2011
Mar 20, 2012
Nov 15, 2011
Nov 16, 2009
Mar 20, 2012
Jan 17, 2011
Mar 20, 2012
Mar 15, 2012
Feb 13, 2012
Feb 13, 2012

Repository files navigation

RestSharp .NET 2.0 Fork - Simple .NET REST Client

This is a fork of RestSharp for ,NET 2.0.

To get it to work correctly we have included System.Xml.Linq from Mono project, and LinqBridge.cs, so you may run into conflicts should you have other .NET2 projects that have done the same

Please use the Google Group for feature requests and troubleshooting usage.

License: Apache License 2.0

Features

  • Supports .NET 3.5+, Silverlight 4, Windows Phone 7, Mono, MonoTouch
  • Automatic XML and JSON deserialization
  • Supports custom serialization and deserialization via ISerializer and IDeserializer
  • Fuzzy element name matching ('product_id' in XML/JSON will match C# property named 'ProductId')
  • Automatic detection of type of content returned
  • GET, POST, PUT, HEAD, OPTIONS, DELETE supported
  • oAuth 1, oAuth 2, Basic, NTLM and Parameter-based Authenticators included
  • Supports custom authentication schemes via IAuthenticator
  • Multi-part form/file uploads
  • T4 Helper to generate C# classes from an XML document
var client = new RestClient("http://example.com");
// client.Authenticator = new HttpBasicAuthenticator(username, password);

var request = new RestRequest("resource/{id}", Method.POST);
request.AddParameter("name", "value"); // adds to POST or URL querystring based on Method
request.AddUrlSegment("id", 123); // replaces matching token in request.Resource

// add parameters for all properties on an object
request.AddObject(object);

// or just whitelisted properties
request.AddObject(object, "PersonId", "Name", ...);

// easily add HTTP Headers
request.AddHeader("header", "value");

// add files to upload (works with compatible verbs)
request.AddFile(path);

// execute the request
RestResponse response = client.Execute(request);
var content = response.Content; // raw content as string

// or automatically deserialize result
// return content type is sniffed but can be explicitly set via RestClient.AddHandler();
RestResponse<Person> response2 = client.Execute<Person>(request);
var name = response2.Data.Name;

// or download and save file to disk
client.DownloadData(request).SaveAs(path);

// easy async support
client.ExecuteAsync(request, response => {
    Console.WriteLine(response.Content);
});

// async with deserialization
var asyncHandle = client.ExecuteAsync<Person>(request, response => {
    Console.WriteLine(response.Data.Name);
});

// abort the request on demand
asyncHandle.Abort();

About

Simple REST and HTTP API Client for .NET

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published