Decentralised Art Server
High-performance C++ backend that exposes HTML interface and a secure REST API for managing Performative Transactions entities
 
Loading...
Searching...
No Matches
dcn::server::RouteHandlerFunc Class Reference

A class representing a route handler function. More...

#include <route.hpp>

Public Types

enum class  Kind { Response , Streaming }
 

Public Member Functions

template<typename... Args>
 RouteHandlerFunc (std::function< asio::awaitable< http::Response >(Args...)> func)
 
 RouteHandlerFunc (StreamingHandlerDefinition func)
 
 RouteHandlerFunc (RouteHandlerFunc &&other)=default
 
Kind kind () const
 
template<typename... Args>
asio::awaitable< http::Responseoperator() (Args &&... args) const
 
asio::awaitable< void > invokeStreaming (asio::ip::tcp::socket &sock, const http::Request &request, std::vector< RouteArg > route_args, QueryArgsList query_args, std::chrono::steady_clock::time_point &deadline) const
 

Detailed Description

A class representing a route handler function.

This class is used to store and execute route handler function.

Member Enumeration Documentation

◆ Kind

Enumerator
Response 
Streaming 

Constructor & Destructor Documentation

◆ RouteHandlerFunc() [1/3]

template<typename... Args>
dcn::server::RouteHandlerFunc::RouteHandlerFunc ( std::function< asio::awaitable< http::Response >(Args...)>  func)
inline

◆ RouteHandlerFunc() [2/3]

dcn::server::RouteHandlerFunc::RouteHandlerFunc ( StreamingHandlerDefinition  func)
inline

◆ RouteHandlerFunc() [3/3]

dcn::server::RouteHandlerFunc::RouteHandlerFunc ( RouteHandlerFunc &&  other)
default

Member Function Documentation

◆ invokeStreaming()

asio::awaitable< void > dcn::server::RouteHandlerFunc::invokeStreaming ( asio::ip::tcp::socket &  sock,
const http::Request request,
std::vector< RouteArg route_args,
QueryArgsList  query_args,
std::chrono::steady_clock::time_point &  deadline 
) const
inline

◆ kind()

Kind dcn::server::RouteHandlerFunc::kind ( ) const
inline

◆ operator()()

template<typename... Args>
asio::awaitable< http::Response > dcn::server::RouteHandlerFunc::operator() ( Args &&...  args) const
inline

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