Module type Handler.RO_STORE

Read-only storage interface. Sufficient for serving resources via PROPFIND and GET without any mutating operations.

type t

The store handle.

val is_collection : t -> path:string -> bool

is_collection store ~path returns true if path is a collection (directory).

val exists : t -> path:string -> bool

exists store ~path returns true if path exists as any resource type.

val get_properties : t -> path:string -> ((string * string) * Webdavz__.Webdavz_xml.tree list) list

get_properties store ~path returns all properties for the resource. Called by PROPFIND handlers.

val read : t -> path:string -> string option

read store ~path returns the resource content, or None if the resource doesn't exist or is a collection.

val children : t -> path:string -> string list

children store ~path returns the names of immediate children of a collection. Returns [] for non-collections.