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
api.hpp File Reference
#include <ranges>
#include "native.h"
#include <asio.hpp>
#include <asio/experimental/awaitable_operators.hpp>
#include <spdlog/spdlog.h>
#include "utils.hpp"
#include "route.hpp"
#include "parser.hpp"
#include "pt.hpp"
#include "auth.hpp"
#include "evm.hpp"
#include "file.hpp"
#include "version.hpp"
#include "loader.hpp"

Go to the source code of this file.

Namespaces

namespace  dcn
 

Functions

asio::awaitable< std::expected< evm::Address, auth::AuthError > > dcn::authenticate (const http::Request &request, const auth::AuthManager &auth_manager)
 Helper function to handle authentication.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::HEAD_serveFile (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles HEAD requests for a file.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::OPTIONS_auth (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles a OPTIONS request to /auth.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::OPTIONS_accountInfo (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
 Handles a OPTIONS request to /account.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::HEAD_feature (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry)
 Handles HEAD requests for the feature endpoint.
 
asio::awaitable< http::Responsedcn::OPTIONS_feature (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::Responsedcn::GET_feature (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry, evm::EVM &evm)
 Handle a GET request to /features.
 
asio::awaitable< http::Responsedcn::POST_feature (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, auth::AuthManager &auth_manager, registry::Registry &registry, evm::EVM &evm)
 Handle a POST request to /features.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::GET_transformation (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry, evm::EVM &evm)
 Handles GET requests for the transformation endpoint.
 
asio::awaitable< http::Responsedcn::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)
 Handles POST requests for the transformation endpoint.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::GET_condition (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, registry::Registry &registry, evm::EVM &evm)
 Handles GET requests for the condition endpoint.
 
asio::awaitable< http::Responsedcn::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)
 Handles POST requests for the condition endpoint.
 
asio::awaitable< http::Responsedcn::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.
 
asio::awaitable< http::Responsedcn::POST_execute (const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, const auth::AuthManager &auth_manager, evm::EVM &evm)
 Handles POST requests for the execute endpoint.