22class Requestor :
public std::enable_shared_from_this<Requestor> {
24 enum class HandleOutcome :
char {
35 virtual HandleOutcome handle(RequestPtr) = 0;
37 static void definitive_failure(RequestPtr) ;
38 void forward(RequestPtr)
const;
40 std::shared_ptr<Client> api_;
43 using RequestPtr = ::ipfs::gw::RequestPtr;
47 virtual std::string_view
name()
const = 0;
50 void request(std::shared_ptr<GatewayRequest>);
51 Requestor& or_else(std::shared_ptr<Requestor> p);
54 void TestAccess(
void*);
57 std::shared_ptr<Requestor> next_;