Module Webdavz

WebDAV protocol library for httpz.

Implements the core WebDAV data model and request/response handling from RFC 4918.

Module Structure

Quick Start

  (* 1. Implement STORE for your backend *)
  module My_store : Webdavz.STORE = struct ... end

  (* 2. Generate routes *)
  let routes = Webdavz.Handler.routes (module My_store) my_store

  (* 3. Serve with httpz_eio *)
  let route_table = Httpz_server.Route.of_list routes
module Xml : sig ... end

WebDAV XML tree types and xmlm codec.

module Prop : sig ... end

WebDAV property names and accessors.

module Request : sig ... end

WebDAV request body parsing.

module Response : sig ... end

WebDAV 207 Multi-Status response generation.

module Handler : sig ... end

WebDAV handler generation from a storage backend.

module Lock : sig ... end

In-memory WebDAV lock manager.

module type RO_STORE = sig ... end
module type STORE = sig ... end