6#include <asio/experimental/awaitable_operators.hpp>
7using namespace asio::experimental::awaitable_operators;
9#include <spdlog/spdlog.h>
24 asio::awaitable<std::expected<evmc::address, AuthenticationError>>
authenticate(
const http::Request & request,
const AuthManager & auth_manager);
26 asio::awaitable<http::Response>
GET_version(
const http::Request &, std::vector<RouteArg>,
QueryArgsList,
const std::string & build_timestamp);
54 asio::awaitable<http::Response>
GET_ServeFile(
const http::Request &, std::vector<RouteArg>,
QueryArgsList,
const std::string mime_type,
const std::string & file_content);
56 asio::awaitable<http::Response>
GET_ServeBinaryFile(
const http::Request &, std::vector<RouteArg>,
QueryArgsList,
const std::string mime_type,
const std::vector<std::byte> & file_content);
74 asio::awaitable<http::Response>
GET_nonce(
const http::Request &, std::vector<RouteArg>,
QueryArgsList, AuthManager &);
104 asio::awaitable<http::Response>
POST_auth(
const http::Request &, std::vector<RouteArg>,
QueryArgsList, AuthManager &);
132 asio::awaitable<http::Response>
POST_refresh(
const http::Request &, std::vector<RouteArg>,
QueryArgsList, AuthManager &);
157 asio::awaitable<http::Response>
GET_feature(
const http::Request &, std::vector<RouteArg>,
QueryArgsList, Registry & registry, EVM & evm);
177 asio::awaitable<http::Response>
POST_feature(
const http::Request &, std::vector<RouteArg>,
QueryArgsList, AuthManager & auth_manager, Registry & registry, EVM & evm);
211 asio::awaitable<http::Response>
POST_transformation(
const http::Request &, std::vector<RouteArg> args,
QueryArgsList, AuthManager & auth_manager, Registry & registry, EVM & evm);
218 asio::awaitable<http::Response>
GET_execute(
const http::Request & request, std::vector<RouteArg> args,
QueryArgsList,
const AuthManager & auth_manager,
const Registry & registry, EVM & evm);
Definition decentralised_art.hpp:30
asio::awaitable< std::expected< evmc::address, AuthenticationError > > authenticate(const http::Request &request, const AuthManager &auth_manager)
Definition api.cpp:5
asio::awaitable< http::Response > OPTIONS_transformation(const http::Request &, std::vector< RouteArg >, QueryArgsList)
Definition api_transformation.cpp:5
asio::awaitable< http::Response > GET_ServeBinaryFile(const http::Request &, std::vector< RouteArg >, QueryArgsList, const std::string mime_type, const std::vector< std::byte > &file_content)
Definition api_file.cpp:44
asio::awaitable< http::Response > OPTIONS_ServeFile(const http::Request &, std::vector< RouteArg >, QueryArgsList)
Definition api_file.cpp:16
asio::awaitable< http::Response > POST_transformation(const http::Request &, std::vector< RouteArg > args, QueryArgsList, AuthManager &auth_manager, Registry ®istry, EVM &evm)
Definition api_transformation.cpp:153
asio::awaitable< http::Response > POST_auth(const http::Request &, std::vector< RouteArg >, QueryArgsList, AuthManager &)
Handles a POST request to /auth.
Definition api_auth.cpp:44
asio::awaitable< http::Response > POST_refresh(const http::Request &, std::vector< RouteArg >, QueryArgsList, AuthManager &)
Handles a POST request to /auth/refresh.
Definition api_auth.cpp:126
asio::awaitable< http::Response > HEAD_ServeFile(const http::Request &, std::vector< RouteArg >, QueryArgsList)
Definition api_file.cpp:5
asio::awaitable< http::Response > POST_feature(const http::Request &, std::vector< RouteArg >, QueryArgsList, AuthManager &auth_manager, Registry ®istry, EVM &evm)
Handle a POST request to /features.
Definition api_feature.cpp:154
asio::awaitable< http::Response > GET_nonce(const http::Request &, std::vector< RouteArg >, QueryArgsList, AuthManager &)
Handle a GET request to /auth/nonce.
Definition api_auth.cpp:5
asio::awaitable< http::Response > GET_execute(const http::Request &request, std::vector< RouteArg > args, QueryArgsList, const AuthManager &auth_manager, const Registry ®istry, EVM &evm)
Definition api_execute.cpp:5
asio::awaitable< http::Response > GET_ServeFile(const http::Request &, std::vector< RouteArg >, QueryArgsList, const std::string mime_type, const std::string &file_content)
Definition api_file.cpp:31
asio::awaitable< http::Response > GET_accountInfo(const http::Request &, std::vector< RouteArg >, QueryArgsList, Registry ®istry)
Definition api_account.cpp:5
asio::awaitable< http::Response > GET_transformation(const http::Request &, std::vector< RouteArg > args, QueryArgsList, Registry ®istry, EVM &evm)
Definition api_transformation.cpp:19
absl::flat_hash_map< std::string, RouteArg > QueryArgsList
Definition route.hpp:23
asio::awaitable< http::Response > GET_version(const http::Request &, std::vector< RouteArg >, QueryArgsList, const std::string &build_timestamp)
Definition api.cpp:34
asio::awaitable< http::Response > GET_feature(const http::Request &, std::vector< RouteArg >, QueryArgsList, Registry ®istry, EVM &evm)
Returns the newest feature by name or a specific feature by name and id if the id is provided in the ...
Definition api_feature.cpp:19
asio::awaitable< http::Response > OPTIONS_feature(const http::Request &, std::vector< RouteArg >, QueryArgsList)
Definition api_feature.cpp:5