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 Namespace Reference

Namespaces

namespace  async
namespace  auth
namespace  chain
namespace  cmd
namespace  config
namespace  crypto
namespace  events
namespace  evm
namespace  feed
namespace  file
namespace  http
namespace  loader
namespace  native
namespace  parse
namespace  pt
namespace  registry
namespace  sepolia
namespace  server
namespace  storage
namespace  utils

Functions

asio::awaitable< std::expected< chain::Address, auth::AuthError > > authenticate (const http::Request &request, const auth::AuthManager &auth_manager)
 Helper function to handle authentication.
asio::awaitable< http::ResponseGET_version (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, const std::string &build_timestamp)
 Handles GET requests for the version endpoint.
asio::awaitable< http::ResponseHEAD_serveFile (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles HEAD requests for a file.
asio::awaitable< http::ResponseOPTIONS_serveFile (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles OPTIONS requests for a file by returning a response with CORS headers.
asio::awaitable< http::ResponseGET_serveFile (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, const std::string mime_type, const std::string &file_content)
 Handles GET requests for a file.
asio::awaitable< http::ResponseGET_serveBinaryFile (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, const std::string mime_type, const std::vector< std::byte > &file_content)
 Handles GET requests for a binary file.
asio::awaitable< http::ResponseGET_nonce (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, auth::AuthManager &auth_manager)
 Handle a GET request to /auth/nonce.
asio::awaitable< http::ResponseOPTIONS_auth (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles a OPTIONS request to /auth.
asio::awaitable< http::ResponsePOST_auth (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, auth::AuthManager &auth_manager)
 Handles a POST request to /auth.
asio::awaitable< http::ResponseOPTIONS_accountInfo (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles a OPTIONS request to /account.
asio::awaitable< http::ResponseGET_accountInfo (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles a GET request to /account.
asio::awaitable< http::ResponseOPTIONS_formats (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles a OPTIONS request to /formats?limit=<uint>&after=<~string>
asio::awaitable< http::ResponseHEAD_formats (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles a HEAD request to /formats?limit=<uint>&after=<~string>
asio::awaitable< http::ResponseGET_formats (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles a GET request to /formats?limit=<uint>&after=<~string>
asio::awaitable< http::ResponseOPTIONS_format (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles a OPTIONS request to /format/<hash>?limit=<uint>&after=<~string>
asio::awaitable< http::ResponseGET_format (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles a GET request to /format/<hash>?limit=<uint>&after=<~string>
asio::awaitable< http::ResponseOPTIONS_accounts (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles a OPTIONS request to /accounts?limit=<uint>&after=<~string>
asio::awaitable< http::ResponseHEAD_accounts (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles a HEAD request to /accounts?limit=<uint>&after=<~string>
asio::awaitable< http::ResponseGET_accounts (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles a GET request to /accounts?limit=<uint>&after=<~string>
asio::awaitable< http::ResponseOPTIONS_feed (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles OPTIONS requests to /feed?limit=<uint>&before=<~string>&type=<~string>&include_unfinalized=<~uint>
asio::awaitable< http::ResponseGET_feed (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, feed::IFeedRepository &feed_repo)
 Handles GET requests to /feed?limit=<uint>&before=<~string>&type=<~string>&include_unfinalized=<~uint>
asio::awaitable< http::ResponseOPTIONS_feedStream (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles OPTIONS requests to /feed/stream?since_seq=<~uint>&limit=<~uint>
std::string buildFeedStreamSseReplay (feed::IFeedRepository &feed_repo, const feed::StreamQuery &query)
 Builds the SSE replay body for /feed/stream using the feed module.
asio::awaitable< void > GET_feedStream (asio::ip::tcp::socket &sock, const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, std::chrono::steady_clock::time_point &deadline, feed::IFeedRepository &feed_repo)
 Handles GET requests to /feed/stream?since_seq=<~uint>&limit=<~uint>
asio::awaitable< http::ResponseHEAD_connector (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles HEAD requests for the connector endpoint.
asio::awaitable< http::ResponseOPTIONS_connector (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles OPTIONS requests by returning a response with CORS headers.
asio::awaitable< http::ResponseGET_connector (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handle a GET request to /connectors.
asio::awaitable< http::ResponsePOST_connector (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, auth::AuthManager &auth_manager, registry::Registry &registry, evm::EVM &evm, const config::Config &config)
 Handle a POST request to /connectors.
asio::awaitable< http::ResponseHEAD_transformation (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles HEAD requests for the transformation endpoint.
asio::awaitable< http::ResponseOPTIONS_transformation (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles OPTIONS requests for the transformation endpoint by returning a response with CORS headers.
asio::awaitable< http::ResponseGET_transformation (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles GET requests for the transformation endpoint.
asio::awaitable< http::ResponsePOST_transformation (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, auth::AuthManager &auth_manager, registry::Registry &registry, evm::EVM &evm, const config::Config &config)
 Handles POST requests for the transformation endpoint.
asio::awaitable< http::ResponseHEAD_condition (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles HEAD requests for the condition endpoint.
asio::awaitable< http::ResponseOPTIONS_condition (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles OPTIONS requests for the condition endpoint by returning a response with CORS headers.
asio::awaitable< http::ResponseGET_condition (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles GET requests for the condition endpoint.
asio::awaitable< http::ResponsePOST_condition (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, auth::AuthManager &auth_manager, registry::Registry &registry, evm::EVM &evm, const config::Config &config)
 Handles POST requests for the condition endpoint.
asio::awaitable< http::ResponseOPTIONS_execute (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles OPTIONS requests for the execute endpoint by returning a response with CORS headers.
asio::awaitable< http::ResponsePOST_execute (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, const auth::AuthManager &auth_manager, registry::Registry &registry, evm::EVM &evm, const config::Config &config)
 Handles POST requests for the execute endpoint.
template<typename H>
AbslHashValue (H h, const Condition &c)
 Combines hash values for a Condition object.
parse::Result< std::uint32_t > countConditionArgs (const std::string &sol_src)
 Counts the number of distinct args[N] slots referenced by a condition's source. This is the chain-derivable args_count (it matches the value registered on chain).
parse::Result< std::string > constructConditionSolidityCode (const Condition &condition)
template<typename H>
AbslHashValue (H h, const TransformationDef &td)
template<typename H>
AbslHashValue (H h, const Dimension &d)
template<typename H>
AbslHashValue (H h, const Connector &p)
parse::Result< std::string > constructConnectorSolidityCode (const Connector &connector)
template<typename H>
AbslHashValue (H h, const Transformation &t)
 Combines hash values for a Transformation object.
parse::Result< std::uint32_t > countTransformationArgs (const std::string &sol_src)
 Counts the number of distinct args[N] slots referenced by a transformation's source. This is the chain-derivable args_count (it matches the value registered on chain).
parse::Result< std::string > constructTransformationSolidityCode (const Transformation &transformation)

Variables

const asio::ip::port_type DEFAULT_PORT = 54321
const asio::ip::port_type DEFAULT_TLS_PORT = 54322
const short int MAJOR_VERSION = 0
const short int MINOR_VERSION = 4
const short int PATCH_VERSION = 0

Function Documentation

◆ AbslHashValue() [1/5]

template<typename H>
H dcn::AbslHashValue ( H h,
const Condition & c )
inline

Combines hash values for a Condition object.

Template Parameters
HThe hash state type.
Parameters
hThe initial hash state.
cThe Condition object whose attributes will be hashed.
Returns
A combined hash state incorporating the chain-derivable identity (name and args_count).

◆ AbslHashValue() [2/5]

template<typename H>
H dcn::AbslHashValue ( H h,
const Connector & p )
inline

◆ AbslHashValue() [3/5]

template<typename H>
H dcn::AbslHashValue ( H h,
const Dimension & d )
inline

◆ AbslHashValue() [4/5]

template<typename H>
H dcn::AbslHashValue ( H h,
const Transformation & t )
inline

Combines hash values for a Transformation object.

Template Parameters
HThe hash state type.
Parameters
hThe initial hash state.
tThe Transformation object whose attributes will be hashed.
Returns
A combined hash state incorporating the chain-derivable identity (name and args_count).

◆ AbslHashValue() [5/5]

template<typename H>
H dcn::AbslHashValue ( H h,
const TransformationDef & td )
inline

◆ authenticate()

asio::awaitable< std::expected< chain::Address, auth::AuthError > > dcn::authenticate ( const http::Request & request,
const auth::AuthManager & auth_manager )

Helper function to handle authentication.

◆ buildFeedStreamSseReplay()

std::string dcn::buildFeedStreamSseReplay ( feed::IFeedRepository & feed_repo,
const feed::StreamQuery & query )

Builds the SSE replay body for /feed/stream using the feed module.

Returns the full SSE-framed string for the initial replay: a leading min_available_seq comment, one data: frame per delta, and a trailing stream_meta frame describing pagination state. Used by unit tests that want a deterministic snapshot they can parse offline.

◆ constructConditionSolidityCode()

parse::Result< std::string > dcn::constructConditionSolidityCode ( const Condition & condition)

◆ constructConnectorSolidityCode()

parse::Result< std::string > dcn::constructConnectorSolidityCode ( const Connector & connector)

◆ constructTransformationSolidityCode()

parse::Result< std::string > dcn::constructTransformationSolidityCode ( const Transformation & transformation)

◆ countConditionArgs()

parse::Result< std::uint32_t > dcn::countConditionArgs ( const std::string & sol_src)

Counts the number of distinct args[N] slots referenced by a condition's source. This is the chain-derivable args_count (it matches the value registered on chain).

Parameters
sol_srcThe user-supplied Solidity source fragment.

◆ countTransformationArgs()

parse::Result< std::uint32_t > dcn::countTransformationArgs ( const std::string & sol_src)

Counts the number of distinct args[N] slots referenced by a transformation's source. This is the chain-derivable args_count (it matches the value registered on chain).

Parameters
sol_srcThe user-supplied Solidity source fragment.

◆ GET_accountInfo()

asio::awaitable< http::Response > dcn::GET_accountInfo ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles a GET request to /account.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance
Returns
An HTTP response

◆ GET_accounts()

asio::awaitable< http::Response > dcn::GET_accounts ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles a GET request to /accounts?limit=<uint>&after=<~string>

Returns a paginated list of all unique account owners.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance
Returns
An HTTP response

◆ GET_condition()

asio::awaitable< http::Response > dcn::GET_condition ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles GET requests for the condition endpoint.

Retrieves a condition

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance for retrieving conditions
evmEVM instance
Returns
An HTTP response

◆ GET_connector()

asio::awaitable< http::Response > dcn::GET_connector ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handle a GET request to /connectors.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance for retrieving connectors
Returns
An HTTP response

◆ GET_feed()

asio::awaitable< http::Response > dcn::GET_feed ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
feed::IFeedRepository & feed_repo )

Handles GET requests to /feed?limit=<uint>&before=<~string>&type=<~string>&include_unfinalized=<~uint>

◆ GET_feedStream()

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

Handles GET requests to /feed/stream?since_seq=<~uint>&limit=<~uint>

Streaming handler — owns the socket for the request lifetime. Writes the SSE response head, flushes an initial replay, then polls the feed repository for new deltas and emits SSE frames until the client disconnects, sending periodic :keepalive comments to keep the connection (and the per-connection watchdog) alive when there are no new events.

◆ GET_format()

asio::awaitable< http::Response > dcn::GET_format ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles a GET request to /format/<hash>?limit=<uint>&after=<~string>

Returns a paginated list of connectors that belong to the given format hash.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance
Returns
An HTTP response

◆ GET_formats()

asio::awaitable< http::Response > dcn::GET_formats ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles a GET request to /formats?limit=<uint>&after=<~string>

Returns a paginated list of all format hashes.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance
Returns
An HTTP response

◆ GET_nonce()

asio::awaitable< http::Response > dcn::GET_nonce ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
auth::AuthManager & auth_manager )

Handle a GET request to /auth/nonce.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
auth_managerAuth manager instance
Returns
An HTTP response

◆ GET_serveBinaryFile()

asio::awaitable< http::Response > dcn::GET_serveBinaryFile ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
const std::string mime_type,
const std::vector< std::byte > & file_content )

Handles GET requests for a binary file.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
mime_typeMIME type of the file
file_contentContent of the file
Returns
An HTTP response

◆ GET_serveFile()

asio::awaitable< http::Response > dcn::GET_serveFile ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
const std::string mime_type,
const std::string & file_content )

Handles GET requests for a file.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
mime_typeMIME type of the file
file_contentContent of the file
Returns
An HTTP response

◆ GET_transformation()

asio::awaitable< http::Response > dcn::GET_transformation ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles GET requests for the transformation endpoint.

Retrieves a transformation

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance for retrieving transformations
evmEVM instance
Returns
An HTTP response

◆ GET_version()

asio::awaitable< http::Response > dcn::GET_version ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
const std::string & build_timestamp )

Handles GET requests for the version endpoint.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
build_timestampBuild timestamp
Returns
An HTTP response

◆ HEAD_accounts()

asio::awaitable< http::Response > dcn::HEAD_accounts ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles a HEAD request to /accounts?limit=<uint>&after=<~string>

Mirrors GET /accounts validation and returns status-only metadata.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance
Returns
An HTTP response

◆ HEAD_condition()

asio::awaitable< http::Response > dcn::HEAD_condition ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles HEAD requests for the condition endpoint.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance for retrieving conditions
Returns
An HTTP response

◆ HEAD_connector()

asio::awaitable< http::Response > dcn::HEAD_connector ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles HEAD requests for the connector endpoint.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance for retrieving connectors
Returns
An HTTP response

◆ HEAD_formats()

asio::awaitable< http::Response > dcn::HEAD_formats ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles a HEAD request to /formats?limit=<uint>&after=<~string>

Mirrors GET /formats validation and returns status-only metadata.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance
Returns
An HTTP response

◆ HEAD_serveFile()

asio::awaitable< http::Response > dcn::HEAD_serveFile ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles HEAD requests for a file.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response

◆ HEAD_transformation()

asio::awaitable< http::Response > dcn::HEAD_transformation ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
registry::Registry & registry )

Handles HEAD requests for the transformation endpoint.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance for retrieving transformations
Returns
An HTTP response

◆ OPTIONS_accountInfo()

asio::awaitable< http::Response > dcn::OPTIONS_accountInfo ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles a OPTIONS request to /account.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response

◆ OPTIONS_accounts()

asio::awaitable< http::Response > dcn::OPTIONS_accounts ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles a OPTIONS request to /accounts?limit=<uint>&after=<~string>

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response

◆ OPTIONS_auth()

asio::awaitable< http::Response > dcn::OPTIONS_auth ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles a OPTIONS request to /auth.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response

◆ OPTIONS_condition()

asio::awaitable< http::Response > dcn::OPTIONS_condition ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles OPTIONS requests for the condition endpoint by returning a response with CORS headers.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response

◆ OPTIONS_connector()

asio::awaitable< http::Response > dcn::OPTIONS_connector ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles OPTIONS requests by returning a response with CORS headers.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response with CORS headers

◆ OPTIONS_execute()

asio::awaitable< http::Response > dcn::OPTIONS_execute ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles OPTIONS requests for the execute endpoint by returning a response with CORS headers.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response

◆ OPTIONS_feed()

asio::awaitable< http::Response > dcn::OPTIONS_feed ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles OPTIONS requests to /feed?limit=<uint>&before=<~string>&type=<~string>&include_unfinalized=<~uint>

◆ OPTIONS_feedStream()

asio::awaitable< http::Response > dcn::OPTIONS_feedStream ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles OPTIONS requests to /feed/stream?since_seq=<~uint>&limit=<~uint>

◆ OPTIONS_format()

asio::awaitable< http::Response > dcn::OPTIONS_format ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles a OPTIONS request to /format/<hash>?limit=<uint>&after=<~string>

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response

◆ OPTIONS_formats()

asio::awaitable< http::Response > dcn::OPTIONS_formats ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles a OPTIONS request to /formats?limit=<uint>&after=<~string>

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response

◆ OPTIONS_serveFile()

asio::awaitable< http::Response > dcn::OPTIONS_serveFile ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles OPTIONS requests for a file by returning a response with CORS headers.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response

◆ OPTIONS_transformation()

asio::awaitable< http::Response > dcn::OPTIONS_transformation ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args )

Handles OPTIONS requests for the transformation endpoint by returning a response with CORS headers.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
Returns
An HTTP response with CORS headers for the transformation endpoint

◆ POST_auth()

asio::awaitable< http::Response > dcn::POST_auth ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
auth::AuthManager & auth_manager )

Handles a POST request to /auth.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
auth_managerAuth manager instance
Returns
An HTTP response

◆ POST_condition()

asio::awaitable< http::Response > dcn::POST_condition ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
auth::AuthManager & auth_manager,
registry::Registry & registry,
evm::EVM & evm,
const config::Config & config )

Handles POST requests for the condition endpoint.

Verifies the access token, then adds a new condition to the registry.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
auth_managerAuthentication manager instance for verifying access tokens
registryRegistry instance for adding conditions
evmEVM instance
Returns
An HTTP response

◆ POST_connector()

asio::awaitable< http::Response > dcn::POST_connector ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
auth::AuthManager & auth_manager,
registry::Registry & registry,
evm::EVM & evm,
const config::Config & config )

Handle a POST request to /connectors.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
registryRegistry instance for retrieving connectors
Returns
An HTTP response

◆ POST_execute()

asio::awaitable< http::Response > dcn::POST_execute ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
const auth::AuthManager & auth_manager,
registry::Registry & registry,
evm::EVM & evm,
const config::Config & config )

Handles POST requests for the execute endpoint.

Verifies the access token, then executes a runner transaction.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
auth_managerAuthentication manager instance for verifying access tokens
evmEVM instance
Returns
An HTTP response

◆ POST_transformation()

asio::awaitable< http::Response > dcn::POST_transformation ( const http::Request & request,
std::vector< server::RouteArg > route_args,
server::QueryArgsList query_args,
auth::AuthManager & auth_manager,
registry::Registry & registry,
evm::EVM & evm,
const config::Config & config )

Handles POST requests for the transformation endpoint.

Verifies the access token, then adds a new transformation to the registry.

Parameters
requestThe incoming HTTP request
route_argsRoute arguments
query_argsQuery arguments
auth_managerAuthentication manager instance for verifying access tokens
registryRegistry instance for adding transformations
evmEVM instance
Returns
An HTTP response

Variable Documentation

◆ DEFAULT_PORT

const asio::ip::port_type dcn::DEFAULT_PORT = 54321

◆ DEFAULT_TLS_PORT

const asio::ip::port_type dcn::DEFAULT_TLS_PORT = 54322

◆ MAJOR_VERSION

const short int dcn::MAJOR_VERSION = 0

◆ MINOR_VERSION

const short int dcn::MINOR_VERSION = 4

◆ PATCH_VERSION

const short int dcn::PATCH_VERSION = 0