Expand description
Product-neutral WebDAV protocol engine contracts for Aster services.
This crate owns WebDAV paths, request parsing, protocol preconditions, backend ports, response models, and observable operation events. Product repositories own authentication, authorization, workspace scope, persistence, storage policy, quota, and audit semantics.
Re-exports§
pub use backend::DavBackendError;pub use backend::DavBackendErrorKind;pub use backend::DavContentStream;pub use backend::DavDirEntry;pub use backend::DavFile;pub use backend::DavFileSystem;pub use backend::DavIfResourceState;pub use backend::DavIfStateResolver;pub use backend::DavLock;pub use backend::DavLockError;pub use backend::DavLockPreflightError;pub use backend::DavLockSystem;pub use backend::DavMetaData;pub use backend::DavProp;pub use backend::DavResourceKind;pub use backend::FsError;pub use backend::FsFuture;pub use backend::FsResult;pub use backend::FsStream;pub use backend::LsFuture;pub use backend::OpenOptions;pub use backend::ReadDirMeta;pub use deltav::DavVersionTreeReportError;pub use deltav::validate_version_tree_report;pub use deltav::version_control_response;pub use deltav::version_tree_non_file_response;pub use deltav::version_tree_report_error_response;pub use deltav::version_tree_response;pub use event::DavEvent;pub use event::DavEventOutcome;pub use event::DavEventSink;pub use event::DavOperation;pub use event::NoopDavEventSink;pub use lock::DavLockPlan;pub use lock::DavLockPlanError;pub use lock::enforce_parent_unlocked;pub use lock::enforce_unlocked;pub use lock::ensure_lock_target_exists;pub use lock::lock_acquire_success_response;pub use lock::lock_conflict_response;pub use lock::lock_discovery_element;pub use lock::lock_limit_response;pub use lock::lock_refresh_success_response;pub use lock::lock_xml_error_response;pub use lock::plan_lock_request;pub use lock::unlock_success_response;pub use lock::unlock_token_mismatch_response;pub use lock::unsubmitted_lock_conflicts;pub use path::DavPath;pub use path::DavPathError;pub use path::child_relative_path;pub use path::decode_relative_path;pub use path::display_name;pub use path::encode_href;pub use path::href_for_dav_path;pub use path::href_for_relative;pub use path::parent_relative_path;pub use property::DavProppatchAtomicPlan;pub use property::build_propfind_item;pub use property::build_proppatch_item;pub use property::format_creation_date;pub use property::plan_atomic_proppatch;pub use property::property_multistatus_response;pub use property::propfind_finite_depth_response;pub use property::propfind_request_label;pub use property::propfind_xml_error_response;pub use property::proppatch_xml_error_response;pub use protocol::DavIfEvaluationError;pub use protocol::DavPrecondition;pub use protocol::DavProtocolError;pub use protocol::DavProtocolErrorKind;pub use protocol::Depth;pub use protocol::Destination;pub use protocol::IfHeader;pub use protocol::IfResourceGroup;pub use protocol::IfStateCondition;pub use protocol::IfStateList;pub use protocol::destination_relative_path;pub use protocol::enforce_if_header;pub use protocol::enforce_if_header_with_backends;pub use protocol::evaluate_http_download_preconditions;pub use protocol::evaluate_http_etag_preconditions;pub use protocol::parse_copy_depth;pub use protocol::parse_delete_depth;pub use protocol::parse_if_header;pub use protocol::parse_lock_depth;pub use protocol::parse_lock_timeout;pub use protocol::parse_lock_token_header;pub use protocol::parse_move_depth;pub use protocol::parse_overwrite;pub use protocol::parse_propfind_depth;pub use protocol::submitted_lock_tokens;pub use protocol::submitted_lock_tokens_for_path;pub use put::DavPutPlan;pub use put::DavPutPlanError;pub use put::DavPutResourceState;pub use put::DavPutResponseError;pub use put::plan_put_request;pub use put::put_plan_error_response;pub use put::put_success_response;pub use request::DavBodyPolicy;pub use request::DavMethod;pub use request::DavRequestHead;pub use request::DavRequestOrigin;pub use resource::DavCopyMoveMethod;pub use resource::DavCopyMovePlan;pub use resource::DavMutationFailure;pub use resource::DavMutationPlanError;pub use resource::DavMutationResponseError;pub use resource::collection_created_response;pub use resource::delete_success_response;pub use resource::enforce_parent_collection;pub use resource::is_descendant_path;pub use resource::mutation_multistatus_response;pub use resource::mutation_plan_error_response;pub use resource::mutation_success_response;pub use resource::plan_copy_move_request;pub use resource::replace_relative_prefix;pub use resource::resource_identity_path;pub use resource::same_resource_path;pub use resource::validate_collection_create_target;pub use resource::validate_delete_target;pub use response::DAV_ALLOW_HEADER;pub use response::DavBodyError;pub use response::DavDownloadBody;pub use response::DavDownloadPlan;pub use response::DavDownloadPlanError;pub use response::DavResponse;pub use response::DavResponseBody;pub use response::backend_error_response;pub use response::body_error_response;pub use response::method_not_allowed_response;pub use response::options_response;pub use response::plan_download_response;pub use response::protocol_error_response;pub use response::range_not_satisfiable_response;pub use xml::DavLockRequestBody;pub use xml::DavPropertyPatchRequest;pub use xml::DavPropertyPatchValue;pub use xml::DavPropfindRequest;pub use xml::DavRequestedProperty;pub use xml::DavXmlElement;pub use xml::DavXmlError;pub use xml::DavXmlNode;pub use xml::parse_lock_request;pub use xml::parse_propfind_request;pub use xml::parse_proppatch_request;pub use xml::parse_report_root;pub use xml_response::DavErrorCondition;pub use xml_response::DavLockXml;pub use xml_response::DavMultiStatusItem;pub use xml_response::DavPropStat;pub use xml_response::DavVersionXml;pub use xml_response::dav_dead_property_element;pub use xml_response::dav_element;pub use xml_response::dav_error_element;pub use xml_response::dav_lock_discovery_element;pub use xml_response::dav_lock_response_element;pub use xml_response::dav_multistatus_element;pub use xml_response::dav_property_child_element;pub use xml_response::dav_property_name_element;pub use xml_response::dav_property_text_element;pub use xml_response::dav_propstat_element;pub use xml_response::dav_response_element;pub use xml_response::dav_status_element;pub use xml_response::dav_supported_lock_element;pub use xml_response::dav_text_element;pub use xml_response::dav_version_multistatus_element;
Modules§
- actix
- Optional Actix transport adapter for the WebDAV protocol model.
- backend
- Product adapter ports consumed by the WebDAV protocol layer.
- deltav
- Product-neutral DeltaV request planning and response composition.
- event
- Observable WebDAV operation events.
- lock
- LOCK/UNLOCK protocol request planning and response composition.
- path
- Canonical WebDAV path handling.
- property
- WebDAV property selection and propstat composition.
- protocol
- WebDAV header parsing and protocol precondition rules.
- put
- PUT request planning and success response composition.
- request
- Transport-neutral WebDAV request head parsing.
- resource
- Resource mutation path rules and response composition.
- response
- Transport-neutral WebDAV response model and download response planning.
- xml
- WebDAV XML grammar and representation boundary.
- xml_
response - Product-neutral WebDAV XML response grammar.