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: