C++ Actor Framework 1.0.0
Loading...
Searching...
No Matches
caf::net::http::route Class Referenceabstract

Represents a single route for HTTP requests at a server. More...

#include <route.hpp>

Inheritance diagram for caf::net::http::route:
caf::ref_counted caf::detail::atomic_ref_counted caf::detail::http_route_base< Ts... > caf::detail::http_catch_all_route_impl< F > caf::detail::http_route_base< Ts > caf::detail::http_simple_route_base

Public Member Functions

virtual bool exec (const request_header &hdr, const_byte_span body, router *parent)=0
 Tries to match an HTTP request and processes the request on a match.
 
virtual void init ()
 Called by the HTTP server when starting up.
 
- Public Member Functions inherited from caf::detail::atomic_ref_counted
 atomic_ref_counted (const atomic_ref_counted &)
 
atomic_ref_countedoperator= (const atomic_ref_counted &)
 
void ref () const noexcept
 Increases reference count by one.
 
void deref () const noexcept
 Decreases reference count by one and calls request_deletion when it drops to zero.
 
bool unique () const noexcept
 Queries whether there is exactly one reference.
 
size_t get_reference_count () const noexcept
 Queries the current reference count for this object.
 

Additional Inherited Members

- Public Types inherited from caf::ref_counted
using super = detail::atomic_ref_counted
 
- Protected Attributes inherited from caf::detail::atomic_ref_counted
std::atomic< size_t > rc_
 

Detailed Description

Represents a single route for HTTP requests at a server.

Member Function Documentation

◆ exec()

virtual bool caf::net::http::route::exec ( const request_header & hdr,
const_byte_span body,
router * parent )
pure virtual

Tries to match an HTTP request and processes the request on a match.

The route may send errors to the client or call shutdown on the parent for severe errors.

Parameters
hdrThe HTTP request header from the client.
bodyThe payload from the client.
parentPointer to the object that uses this route.
Returns
true if the route matches the request, false otherwise.

Implemented in caf::detail::http_catch_all_route_impl< F >, caf::detail::http_route_base< Ts >, caf::detail::http_route_base< Ts... >, and caf::detail::http_simple_route_base.

◆ init()

void caf::net::http::route::init ( )
virtual

Called by the HTTP server when starting up.

May be used to spin up workers that the path dispatches to. The default implementation does nothing.


The documentation for this class was generated from the following files: