Popularity
6.7
Declining
Activity
0.0
Stable
886
71
244

Code Quality Rank: L5
Programming language: C#
License: GNU General Public License v3.0 or later
Tags: HTTP     REST    
Latest version: v1.7

EasyHttp alternatives and similar packages

Based on the "HTTP" category.
Alternatively, view EasyHttp alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of EasyHttp or a related project?

Add another 'HTTP' Package

README

Project Status

This project is active and maintained by David Alpert.

EasyHttp

An easy to use HTTP client that supports:

  • HEAD, PUT, DELETE, GET, POST
  • Cookies
  • Authentication
  • Dynamic and Static Typing
  • XML, JSON and WWW-Url form encoded encoding/decoding
  • File upload both via PUT and POST (multipart/formdata)
  • Some other neat little features....

License

Licensed under Modified BSD (i.e. pretty much MIT).

For full License and included software licenses please see LICENSE.TXT

Please log all issues here: http://youtrack.codebetter.com/issues/EHTTP

Installation

You can either download the source and compile or use nuget at http://nuget.org. To install with nuget:

Install-Package EasyHttp

Documentation

The documentation can be found on the wiki.

Usage

Using static types

To post/put a customer to some service:

    var customer = new Customer(); 
    customer.Name = "Joe"; 
    customer.Email = "[email protected]";
    var http = new HttpClient();
    http.Post("url", customer, HttpContentTypes.ApplicationJson);

To get some data in JSON format:

    var http = new HttpClient();
    http.Request.Accept = HttpContentTypes.ApplicationJson;
    var response = http.Get("url");
    var customer = response.StaticBody<Customer>();
    Console.WriteLine("Name: {0}", customer.Name);

Using dynamic types

To post/put a customer to some service:

    var customer = new ExpandoObject(); // Or any dynamic type
    customer.Name = "Joe";
    customer.Email = "[email protected]";
    var http = new HttpClient();
    http.Post("url", customer, HttpContentTypes.ApplicationJson);

To get some data in JSON format:

    var http = new HttpClient();
    http.Request.Accept = HttpContentTypes.ApplicationJson;
    var response = http.Get("url");
    var customer = response.DynamicBody;
    Console.WriteLine("Name {0}", customer.Name);

Both in Static and Dynamic versions, hierarchies are supported.

Perform a get with parameters

To get some data from a service

    var http = new HttpClient();
    http.Get("url", new {Name = "test"});

Should translate to the following url being passed. url?Name=test the value will be urlencoded.

To get some data in JSon format.

    var http = new HttpClient();
    http.Request.Accept = HttpContentTypes.ApplicationJson;
    http.Get("url", new {Name = "test"});

Serialization / Deserialization Conventions

For serialization / deserialization, you can use pretty much any type of naming convention, be it Propercase, CamelCase, lowerCamelCase, with_underscores, etc. If for some reason, your convention is not picked up, you can always decorate the property with an attribute:


   [JsonName("mycustomname")] 
   public string SomeWeirdCombination { get; set; }

Credits

Copyright (c) 2010 - 2017 Hadi Hariri and Project Contributors

JsonFX: Licensed under MIT. EasyHttp uses the awesome JsonFX library at http://github.com/jsonfx


*Note that all licence references and agreements mentioned in the EasyHttp README section above are relevant to that project's source code only.