1 #ifndef __XRDHTTPTAPEAPISTORE_HH__
2 #define __XRDHTTPTAPEAPISTORE_HH__
13 #include "XrdOuc/XrdOucJson.hh"
29 explicit operator bool()
const {
return message.empty(); }
44 Status ResolvePath(
const std::filesystem::path &root,
45 const std::string &path,
46 std::string &normalized,
47 std::filesystem::path &resolved)
const;
48 Status ReadRequest(
const std::string &requestId,
53 std::vector<std::string> &normalized)
const;
55 static bool IsRequestId(
const std::string &requestId);
56 static std::uint64_t Now();
57 static std::string GenerateRequestId();
60 std::filesystem::path m_root;
61 std::filesystem::path m_archiveRoot;
62 std::filesystem::path m_diskRoot;
63 std::filesystem::path m_requestsRoot;
64 mutable std::mutex m_mutex;
Status DeleteStage(const std::string &requestId)
Status GetStage(const std::string &requestId, nlohmann::json &response)
Status CancelStage(const std::string &requestId, const nlohmann::json &paths)
Status CreateStage(const nlohmann::json &files, std::string &requestId)
Status ArchiveInfo(const nlohmann::json &paths, nlohmann::json &response)
XrdHttpTapeApiStore(std::filesystem::path root)
Status Release(const std::string &requestId, const nlohmann::json &paths)