5 #ifndef __HTTP_FILE_PLUG_IN_
6 #define __HTTP_FILE_PLUG_IN_
17 #include <unordered_map>
25 #define HTTP_FILE_PLUG_IN_AVOIDRANGE_ENV "XRDCLHTTP_AVOIDRANGE"
27 #define HTTP_FILE_PLUG_IN_AVOIDRANGE_CGI "xrdclhttp_avoidrange"
45 uint16_t timeout )
override;
51 uint16_t timeout )
override;
58 uint16_t timeout )
override;
67 uint16_t timeout )
override;
76 uint16_t timeout )
override;
85 uint16_t timeout )
override;
93 std::vector<uint32_t> &cksums,
95 uint16_t timeout )
override;
101 uint16_t timeout )
override;
109 uint16_t timeout )
override;
114 virtual bool IsOpen()
const override;
120 const std::string &value )
override;
126 std::string &value )
const override;
130 Davix::Context *davix_context_;
131 Davix::DavPosix *davix_client_;
135 std::mutex offset_locker;
136 uint64_t curr_offset;
139 bool isChannelEncrypted;
146 std::unordered_map<std::string, std::string> properties_;
An interface for file plug-ins.
virtual XRootDStatus PgRead(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
virtual XRootDStatus PgWrite(uint64_t offset, uint32_t size, const void *buffer, std::vector< uint32_t > &cksums, ResponseHandler *handler, uint16_t timeout) override
virtual XRootDStatus Sync(ResponseHandler *handler, uint16_t timeout) override
virtual XRootDStatus Stat(bool force, ResponseHandler *handler, uint16_t timeout) override
virtual XRootDStatus Write(uint64_t offset, uint32_t size, const void *buffer, ResponseHandler *handler, uint16_t timeout) override
virtual XRootDStatus Read(uint64_t offset, uint32_t size, void *buffer, ResponseHandler *handler, uint16_t timeout) override
virtual XRootDStatus VectorRead(const ChunkList &chunks, void *buffer, XrdCl::ResponseHandler *handler, uint16_t timeout) override
virtual ~HttpFilePlugIn() noexcept
virtual XRootDStatus Open(const std::string &url, OpenFlags::Flags flags, Access::Mode mode, ResponseHandler *handler, uint16_t timeout) override
virtual bool GetProperty(const std::string &name, std::string &value) const override
virtual XRootDStatus Close(ResponseHandler *handler, uint16_t timeout) override
virtual bool SetProperty(const std::string &name, const std::string &value) override
virtual bool IsOpen() const override
Handle an async response.
std::vector< ChunkInfo > ChunkList
List of chunks.
Flags
Open flags, may be or'd when appropriate.