30 static Error Timeout(std::string detail) {
31 return Error(Kind::Timeout, std::move(detail));
34 static Error Auth(std::string detail) {
35 return Error(Kind::Auth, std::move(detail));
38 Error() : kind(Kind::None), detail(std::nullopt) {}
41 Error(Kind kind, std::optional<std::string> detail)
42 : kind(kind), detail(std::move(detail)) {}
44 std::optional<std::string> detail;