Skip to main content

Crate aster_forge_webdav

Crate aster_forge_webdav 

Source
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.