EntropyEngine::Networking::WebDAV
EntropyEngine::Networking::WebDAV
Section titled “EntropyEngine::Networking::WebDAV”Namespaces
Section titled “Namespaces”| Name |
|---|
| EntropyEngine::Networking::WebDAV::Utils |
Classes
Section titled “Classes”| Name | |
|---|---|
| class | EntropyEngine::Networking::WebDAV::WebDAVReadStream Read-only FileStream for WebDAV GET operations via HttpClient. |
| class | EntropyEngine::Networking::WebDAV::WebDAVFileSystemBackend Read-only VFS backend for WebDAV servers. |
| class | EntropyEngine::Networking::WebDAV::WebDAVConnection HTTP/1.1 client for WebDAV operations. |
| struct | EntropyEngine::Networking::WebDAV::DavResourceInfo Resource information from WebDAV PROPFIND response. |
Functions
Section titled “Functions”| Name | |
|---|---|
| void | toLowerInPlace(std::string & s) |
| std::vector< DavResourceInfo > | parsePropfindXml(const std::vector< uint8_t > & xmlBytes) Parses WebDAV PROPFIND response body (207 Multistatus). |
| int | on_stream_message_complete_cb(llhttp_t * p) |
| int | on_stream_headers_complete_cb(llhttp_t * p) |
| int | on_stream_header_value_cb(llhttp_t * p, const char * at, size_t len) |
| int | on_stream_header_field_cb(llhttp_t * p, const char * at, size_t len) |
| int | on_stream_body_cb(llhttp_t * p, const char * at, size_t len) |
| int | on_status_cb(llhttp_t * p, const char * at, size_t len) |
| int | on_message_complete_cb(llhttp_t * p) |
| int | on_headers_complete_cb(llhttp_t * p) |
| int | on_header_value_cb(llhttp_t * p, const char * at, size_t len) |
| int | on_header_field_cb(llhttp_t * p, const char * at, size_t len) |
| int | on_body_cb(llhttp_t * p, const char * at, size_t len) |
| std::string_view | localName(const char * qn) |
| std::optional< std::string > | hrefToVfsPath(const std::string & href, const std::string & baseUrl) |
| bool | hasParentTraversal(std::string_view p) |
| XMLElement * | firstByLocal(XMLElement * parent, std::string_view name) |
Attributes
Section titled “Attributes”| Name | |
|---|---|
| size_t | DEFAULT_STREAM_BUFFER_BYTES |
| size_t | DEFAULT_MAX_BODY_BYTES |
Functions Documentation
Section titled “Functions Documentation”function toLowerInPlace
Section titled “function toLowerInPlace”static inline void toLowerInPlace( std::string & s)function parsePropfindXml
Section titled “function parsePropfindXml”std::vector< DavResourceInfo > parsePropfindXml( const std::vector< uint8_t > & xmlBytes)Parses WebDAV PROPFIND response body (207 Multistatus).
Parameters:
- xmlBytes Raw XML response body from HTTP 207 response
Return: Vector of resource info in document order, or empty on parse error
Parses RFC 4918 compliant WebDAV PROPFIND XML responses. Extracts resource properties from DAV:response elements. Namespace-tolerant (matches by local name, ignores prefixes). Prefers propstat with HTTP 200 status.
auto response = conn->propfind("/dav/folder", 1, propfindXml);if (response.statusCode == 207) { auto resources = parsePropfindXml(response.body); for (const auto& res : resources) { if (res.isCollection) { processDirectory(res.href); } else { processFile(res.href, res.contentLength); } }}function on_stream_message_complete_cb
Section titled “function on_stream_message_complete_cb”static int on_stream_message_complete_cb( llhttp_t * p)function on_stream_headers_complete_cb
Section titled “function on_stream_headers_complete_cb”static int on_stream_headers_complete_cb( llhttp_t * p)function on_stream_header_value_cb
Section titled “function on_stream_header_value_cb”static int on_stream_header_value_cb( llhttp_t * p, const char * at, size_t len)function on_stream_header_field_cb
Section titled “function on_stream_header_field_cb”static int on_stream_header_field_cb( llhttp_t * p, const char * at, size_t len)function on_stream_body_cb
Section titled “function on_stream_body_cb”static int on_stream_body_cb( llhttp_t * p, const char * at, size_t len)function on_status_cb
Section titled “function on_status_cb”static int on_status_cb( llhttp_t * p, const char * at, size_t len)function on_message_complete_cb
Section titled “function on_message_complete_cb”static int on_message_complete_cb( llhttp_t * p)function on_headers_complete_cb
Section titled “function on_headers_complete_cb”static int on_headers_complete_cb( llhttp_t * p)function on_header_value_cb
Section titled “function on_header_value_cb”static int on_header_value_cb( llhttp_t * p, const char * at, size_t len)function on_header_field_cb
Section titled “function on_header_field_cb”static int on_header_field_cb( llhttp_t * p, const char * at, size_t len)function on_body_cb
Section titled “function on_body_cb”static int on_body_cb( llhttp_t * p, const char * at, size_t len)function localName
Section titled “function localName”static std::string_view localName( const char * qn)function hrefToVfsPath
Section titled “function hrefToVfsPath”static std::optional< std::string > hrefToVfsPath( const std::string & href, const std::string & baseUrl)function hasParentTraversal
Section titled “function hasParentTraversal”static bool hasParentTraversal( std::string_view p)function firstByLocal
Section titled “function firstByLocal”static XMLElement * firstByLocal( XMLElement * parent, std::string_view name)Attributes Documentation
Section titled “Attributes Documentation”variable DEFAULT_STREAM_BUFFER_BYTES
Section titled “variable DEFAULT_STREAM_BUFFER_BYTES”static size_t DEFAULT_STREAM_BUFFER_BYTES = 4ull * 1024ull * 1024ull;variable DEFAULT_MAX_BODY_BYTES
Section titled “variable DEFAULT_MAX_BODY_BYTES”static size_t DEFAULT_MAX_BODY_BYTES = 128ull * 1024ull * 1024ull;Updated on 2026-01-26 at 17:14:35 -0500