4#include <spdlog/spdlog.h>
23 asio::awaitable<std::expected<chain::Address, auth::AuthError>>
authenticate(
const http::Request & request,
const auth::AuthManager & auth_manager);
35 asio::awaitable<http::Response>
GET_version(
const http::Request & request, std::vector<server::RouteArg> route_args,
server::QueryArgsList query_args,
const std::string & build_timestamp);
68 asio::awaitable<http::Response>
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);
80 asio::awaitable<http::Response>
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);
91 asio::awaitable<http::Response>
GET_nonce(
const http::Request & request, std::vector<server::RouteArg> route_args,
server::QueryArgsList query_args, auth::AuthManager & auth_manager);
113 asio::awaitable<http::Response>
POST_auth(
const http::Request & request, std::vector<server::RouteArg> route_args,
server::QueryArgsList query_args, auth::AuthManager & auth_manager);
135 asio::awaitable<http::Response>
GET_accountInfo(
const http::Request & request, std::vector<server::RouteArg> route_args,
server::QueryArgsList query_args, storage::Registry & registry);
158 asio::awaitable<http::Response>
GET_format(
const http::Request & request, std::vector<server::RouteArg> route_args,
server::QueryArgsList query_args, storage::Registry & registry);
170 asio::awaitable<http::Response>
HEAD_connector(
const http::Request & request, std::vector<server::RouteArg> route_args,
server::QueryArgsList query_args, storage::Registry & registry);
192 const http::Request & request,
193 std::vector<server::RouteArg> route_args,
195 storage::Registry & registry);
207 auth::AuthManager & auth_manager, storage::Registry & registry, evm::EVM & evm,
const config::Config & config);
243 const http::Request & request,
244 std::vector<server::RouteArg> route_args,
246 storage::Registry & registry);
262 auth::AuthManager & auth_manager, storage::Registry & registry, evm::EVM & evm,
const config::Config & config);
274 asio::awaitable<http::Response>
HEAD_condition(
const http::Request & request, std::vector<server::RouteArg> route_args,
server::QueryArgsList query_args, storage::Registry & registry);
299 const http::Request & request,
300 std::vector<server::RouteArg> route_args,
302 storage::Registry & registry);
318 auth::AuthManager & auth_manager, storage::Registry & registry, evm::EVM & evm,
const config::Config & config);
343 const http::Request & request,
344 std::vector<server::RouteArg> route_args,
346 const auth::AuthManager & auth_manager,
347 storage::Registry & registry,
349 const config::Config & config);
absl::flat_hash_map< std::string, RouteArg > QueryArgsList
Definition route.hpp:23
Definition decentralised_art.hpp:33
asio::awaitable< http::Response > 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.
Definition api_file.cpp:17
asio::awaitable< http::Response > GET_accountInfo(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, storage::Registry ®istry)
Handles a GET request to /account.
Definition api_account.cpp:33
asio::awaitable< http::Response > 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.
Definition api_auth.cpp:55
asio::awaitable< http::Response > HEAD_serveFile(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
Handles HEAD requests for a file.
Definition api_file.cpp:6
asio::awaitable< http::Response > 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.
Definition api_file.cpp:44
asio::awaitable< http::Response > HEAD_transformation(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, storage::Registry ®istry)
Handles HEAD requests for the transformation endpoint.
Definition api_transformation.cpp:11
asio::awaitable< http::Response > HEAD_condition(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, storage::Registry ®istry)
Handles HEAD requests for the condition endpoint.
Definition api_condition.cpp:11
asio::awaitable< std::expected< chain::Address, auth::AuthError > > authenticate(const http::Request &request, const auth::AuthManager &auth_manager)
Helper function to handle authentication.
Definition api_auth.cpp:32
asio::awaitable< http::Response > GET_format(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, storage::Registry ®istry)
Handles a GET request to /format/<hash>?limit=<uint>&page=<uint>
Definition api_format.cpp:29
asio::awaitable< http::Response > GET_transformation(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, storage::Registry ®istry)
Handles GET requests for the transformation endpoint.
Definition api_transformation.cpp:64
asio::awaitable< http::Response > POST_execute(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, const auth::AuthManager &auth_manager, storage::Registry ®istry, evm::EVM &evm, const config::Config &config)
Handles POST requests for the execute endpoint.
Definition api_execute.cpp:24
asio::awaitable< http::Response > POST_connector(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, auth::AuthManager &auth_manager, storage::Registry ®istry, evm::EVM &evm, const config::Config &config)
Handle a POST request to /connectors.
Definition api_connector.cpp:144
asio::awaitable< http::Response > GET_condition(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, storage::Registry ®istry)
Handles GET requests for the condition endpoint.
Definition api_condition.cpp:64
asio::awaitable< http::Response > POST_condition(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, auth::AuthManager &auth_manager, storage::Registry ®istry, evm::EVM &evm, const config::Config &config)
Handles POST requests for the condition endpoint.
Definition api_condition.cpp:133
asio::awaitable< http::Response > OPTIONS_auth(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
Handles a OPTIONS request to /auth.
Definition api_auth.cpp:106
asio::awaitable< http::Response > 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.
Definition api_connector.cpp:47
asio::awaitable< http::Response > 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.
Definition api_condition.cpp:50
asio::awaitable< http::Response > HEAD_connector(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, storage::Registry ®istry)
Handles HEAD requests for the connector endpoint.
Definition api_connector.cpp:10
asio::awaitable< http::Response > GET_connector(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, storage::Registry ®istry)
Handle a GET request to /connectors.
Definition api_connector.cpp:61
asio::awaitable< http::Response > 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.
Definition api_auth.cpp:120
asio::awaitable< http::Response > 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.
Definition api_transformation.cpp:50
asio::awaitable< http::Response > OPTIONS_accountInfo(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args)
Handles a OPTIONS request to /account.
Definition api_account.cpp:19
asio::awaitable< http::Response > 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.
Definition api.cpp:5
asio::awaitable< http::Response > 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>&page=<uint>
Definition api_format.cpp:15
asio::awaitable< http::Response > 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.
Definition api_execute.cpp:10
asio::awaitable< http::Response > POST_transformation(const http::Request &request, std::vector< server::RouteArg > route_args, server::QueryArgsList query_args, auth::AuthManager &auth_manager, storage::Registry ®istry, evm::EVM &evm, const config::Config &config)
Handles POST requests for the transformation endpoint.
Definition api_transformation.cpp:133
asio::awaitable< http::Response > 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.
Definition api_file.cpp:31