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.
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. |
#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.
© 2013-2016 Corvusoft Limited, United Kingdom. All rights reserved.
The Restless framework is dual licensed; See LICENSE for full details.
Please contact [email protected], for support and licensing options including bespoke software development, testing, design consultation, training, mentoring and code review.
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.
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.
Resource | Requirement |
---|---|
Compiler | C++11 compliant or above |
OS | BSD, Linux, Mac OSX, Solaris, Windows, Raspbian |
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 |
Method | Description |
---|---|
Tweet us your questions & feature requests. | |
[email protected] | Support related queries. |
[email protected] | Sale related queries. |