Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sony/easyhttpcpp
A cross-platform HTTP client library with a focus on usability and speed
https://github.com/sony/easyhttpcpp
cache cpp cross-platform http https networking
Last synced: 26 days ago
JSON representation
A cross-platform HTTP client library with a focus on usability and speed
- Host: GitHub
- URL: https://github.com/sony/easyhttpcpp
- Owner: sony
- License: mit
- Created: 2017-08-09T06:03:25.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-01-31T01:47:04.000Z (almost 3 years ago)
- Last Synced: 2024-11-08T14:35:05.564Z (about 1 month ago)
- Topics: cache, cpp, cross-platform, http, https, networking
- Language: C++
- Homepage:
- Size: 577 KB
- Stars: 163
- Watchers: 28
- Forks: 29
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-http - EasyHttp - platform HTTP client library with a focus on usability and speed | ![GitHub stars](https://img.shields.io/github/stars/sony/easyhttpcpp) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/sony/easyhttpcpp) (Programming Languages / C++)
README
EasyHttp
============[![Job Status](https://inspecode.rocro.com/badges/github.com/sony/easyhttpcpp/status?token=ylDg4TQtxeggrtYDr-GP3NMzKW3J0EUw6bLJdTyNVso)](https://inspecode.rocro.com/jobs/github.com/sony/easyhttpcpp/latest?completed=true)
[![Build Status](https://travis-ci.org/sony/easyhttpcpp.svg?branch=master)](https://travis-ci.org/sony/easyhttpcpp)
[![Build status](https://ci.appveyor.com/api/projects/status/a8bike297ad96dsy/branch/master?svg=true&passingText=Windows%20OK&failingText=Windows%20NG)](https://ci.appveyor.com/project/shekharhimanshu/easyhttpcpp-45djp/branch/master)A cross-platform HTTP client library with a focus on usability and speed.
Under its hood, EasyHttp uses [POCO C++ Libraries](https://github.com/pocoproject/poco) and derives many of its
design inspirations from [okHttp](https://github.com/square/okhttp), a well known HTTP client for Android and Java
applications. Please check out [Wiki](https://github.com/sony/easyhttpcpp/wiki) for details.Why another HTTP client?
--------------------------
Modern network applications need a powerful HTTP client. While we already have many well known C++ HTTP clients like,
[Poco::Net](https://pocoproject.org/docs/Poco.Net.html),
[Boost.Asio](http://www.boost.org/doc/libs/1_65_1/doc/html/boost_asio.html),
[cpprestsdk](https://github.com/Microsoft/cpprestsdk) to name a few, they often lack features like a powerful
response cache, HTTP connection pooling, debuggability etc which we all take it for granted for libraries targeted
towards Android or iOS platforms. EasyHttp tries to fill that gap.Features
----------------
- Powerful and easy to use HTTP client with synchronous and asynchronous apis.
- HTTP connection pooling support to reduce latency.
- HTTP response caching to optimize repeat requests.
- Hackable HTTP request/response with a concept of [okHttp](https://github.com/square/okhttp) style
[Interceptors](https://github.com/sony/easyhttpcpp/wiki/Recipe:-Interceptors).
- Cross-platform and highly portable to [many platforms](https://github.com/sony/easyhttpcpp/wiki/Supported-platforms).
- Automatic recovery during faulty network connections.
- Secure by default. Obsolete protocols like SSLv2, SSLv3 are disabled by default.
- Comprehensibly tested and is used internally in various Sony projects.Getting Started
-----------------
#### Installation
See [Installing EasyHttp](https://github.com/sony/easyhttpcpp/wiki/Installing-EasyHttp).#### Samples
See [samples](https://github.com/sony/easyhttpcpp/tree/master/samples).
Also checkout common [use-cases](https://github.com/sony/easyhttpcpp/wiki/Recipes).#### Api doc
See [wiki](https://github.com/sony/easyhttpcpp/wiki/Build-options#building-docs) for building api doc.#### Library build options
See [Build options](https://github.com/sony/easyhttpcpp/wiki/Build-options).License
---------
This library is distributed under [The MIT license](https://opensource.org/licenses/MIT).
See [LICENSE](https://github.com/sony/easyhttpcpp/blob/master/LICENSE) and
[NOTICE](https://github.com/sony/easyhttpcpp/blob/master/NOTICE) for more information.