Asynchronous RESTful service
Jun 23, 2015 at 8:03am UTC
Hi All,
Having just released an open source (GPL) project to bring asynchronous RESTful services to C++11. I'd appreciate any feedback on coding styles, architecture, bugs, tech-debt, feature requests, etc...
Restbed
https://github.com/corvusoft/restbed.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
#include <memory>
#include <cstdlib>
#include <restbed>
using namespace std;
using namespace restbed;
void get_method_handler( const shared_ptr< Session >& session )
{
const auto request = session->get_request( );
size_t content_length = 0;
request->get_header( "Content-Length" , content_length );
session->fetch( content_length, [ ]( const shared_ptr< Session >& session,
const Bytes& body )
{
fprintf( stdout, "%.*s\n" , ( int ) body.size( ), body.data( ) );
session->close( OK, "Hello, World!" , { { "Content-Length" , "13" } } );
} );
}
int main( const int , const char ** )
{
auto resource = make_shared< Resource >( );
resource->set_path( "/resource" );
resource->set_method_handler( "GET" , get_method_handler );
auto settings = make_shared< Settings >( );
settings->set_port( 1984 );
settings->set_default_header( "Connection" , "close" );
Service service;
service.publish( resource );
service.start( settings );
return EXIT_SUCCESS;
}
Last edited on Jun 23, 2015 at 8:03am UTC
Topic archived. No new replies allowed.