restbed icon indicating copy to clipboard operation
restbed copied to clipboard

Extend Session API with error handlers.

Open ben-crowhurst opened this issue 10 years ago • 0 comments

Brief Give greater control over error path logic. As shown in the example below, supplying an error_handler will override any Service and/or Resource error handlers.

Example

void post_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, success_handler, error_handler );
}

int main( const int, const char** )
{
    auto resource = make_shared< Resource >( );
    resource->set_path( "/resource" );
    resource->set_method_handler( "POST", post_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;
}

ben-crowhurst avatar Jul 26 '15 07:07 ben-crowhurst