Giter VIP home page Giter VIP logo

restless's Introduction

Restless Build Status


Restless is a comprehensive and consistent programming model for building applications that require seamless and secure communication over HTTP, with the ability to model a range of business processes, designed to target mobile, tablet, desktop and embedded production environments.

Features

Feature Description
Compliance Flexibility to address HTTP 1.0/1.1+ compliance.
Mature Secure, Stable, and extensively tested since 2013.
Community Active, vibrant and energetic open source community.
Support Commercial support is available from Corvusoft.

Example

#include <memory>
#include <cstdlib>
#include <restless>

using namespace std;
using namespace restless;

void response_handler( const shared_ptr< Session > session )
{
    auto response = session->get_response( );
    auto length = response->get_header( "Content-Length", 0 );
    
    session->fetch( length, [ ]( const shared_ptr< Session > session )
    {
        print( session->get_response( ) );
    } );
}

int main( const int, const char** )
{
    auto session = make_shared< Session >( );
    
    auto request = make_shared< Request >( Uri( "https://www.corvusoft.co.uk/" ) );
    request->set_header( "Accept", "*/*" );
    request->set_header( "Host", "www.corvusoft.co.uk" );
    request->set_query_parameter( "query", "search term" );
    
    session->send( request, response_handler );
    session->wait( );
    
    return EXIT_SUCCESS;
}

More in-depth examples can be found here.

License

© 2013-2016 Corvusoft Limited, United Kingdom. All rights reserved.

The Restless framework is dual licensed; See LICENSE for full details.

Support

Please contact [email protected], for support and licensing options including bespoke software development, testing, design consultation, training, mentoring and code review.

Build

git clone --recursive https://github.com/corvusoft/restless.git
mkdir restless/build
cd restless/build
cmake [-DBUILD_TESTS=YES] [-DBUILD_EXAMPLES=YES] [-DBUILD_SSL=NO] [-DBUILD_SHARED=YES] [-DCMAKE_INSTALL_PREFIX=/output-directory] ..
make [-j CPU_CORES+1] install
make test

You will now find all required components installed in the distribution folder.

Please submit all enhancements, proposals, and defects via the issue tracker; Alternatively ask a question on StackOverflow tagged #restless.

Documentation

This codebase is intended to be as self documenting as possible. We have supplied many examples and test suites to help aid developers.

We are currently working on textual API documentation, however it's subject to erratic and frequent alteration; you've been warned.

Minimum Requirements

Resource Requirement
Compiler C++11 compliant or above
OS BSD, Linux, Mac OSX, Solaris, Windows, Raspbian

Road Map

Milestone Feature Status
0.0 (A)synchronous HTTP client development
1.0 HTTP 1.0 Compliance development
1.0 HTTP 1.1 Compliance development
1.0 Secure Socket Layer development
1.0 API Documentation development
1.5 Chunked Transfer-Encoding pending
1.5 Web Sockets pending
2.0 Server-Side Events pending
2.5 Client-side SSL certificates pending
3.0 HTTP 2 compliance pending
3.5 Refactor, Reduce, Reuse pending

Contact

Method Description
Twitter Tweet us your questions & feature requests.
[email protected] Support related queries.
[email protected] Sale related queries.

restless's People

Contributors

ben-crowhurst avatar

Watchers

James Cloos avatar winning1120xx avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.