shelf_dav library

Classes

AllowAllAuthorizationProvider
Allow-all authorization provider
AuthenticationProvider
Authentication provider interface
AuthenticationResult
Result of an authentication attempt
AuthMiddleware
Authentication and authorization middleware
AuthorizationProvider
Authorization provider interface
AuthorizationResult
Result of an authorization check
AuthUser
Represents an authenticated user
BasicAuthenticationProvider
HTTP Basic Authentication provider
DAVConfig
Configuration options for ShelfDAV server
DavLock
Represents a WebDAV lock on a resource
DavProperty
Represents a WebDAV property with namespace and value
DbmLockStorage
DBM-based lock storage implementation using libdbm
DbmPropertyStorage
DBM-based property storage implementation using libdbm
DenyAllAuthProvider
Deny-all authentication provider
LockStorage
Abstract interface for storing and managing WebDAV locks
MemoryLockStorage
In-memory implementation of LockStorage
Metrics
Metrics collector for WebDAV server operations
MultiStatusBuilder
Builder for WebDAV 207 Multi-Status responses
NoopAuthenticationProvider
No-op authentication provider that allows all requests
PathBasedAuthorizationProvider
Path-based authorization provider
PropertyOperationResult
Result of a property operation for use in Multi-Status responses
PropertyStorage
Abstract interface for storing and retrieving WebDAV properties
ResourceStatus
Represents a single resource status in a Multi-Status response
RoleBasedAuthorizationProvider
Simple role-based authorization provider
ShelfDAV
ThrottleConfig
Configuration for request throttling
ThrottleMiddleware
Request throttling middleware

Enums

Action
WebDAV operations that can be authorized
LockScope
WebDAV lock scope
LockType
WebDAV lock type
PropertyStorageType
Property storage backend type

Properties

defaultMetrics Metrics
Shared default metrics instance for backward compatibility Use DAVConfig.metrics to provide per-instance metrics
final

Functions

getAuthUser(Request request) AuthUser?
Helper to extract authenticated user from request context
operationFromMethod(String method) Action
Determine operation type from HTTP method
qualifiedPropertyName(String namespace, String name) String
Helper function to create a qualified property name

Typedefs

MetricsSnapshot = ({Map<String, Duration> avgResponseTimes, double cacheHitRate, int cacheHits, int cacheMisses, Map<String, int> errorsByType, Map<String, int> requestsByMethod, double requestsPerSecond, int totalErrors, int totalRequests, Duration uptime})
Snapshot of metrics at a point in time

Exceptions / Errors

CopyMoveValidationException
Thrown when COPY/MOVE validation fails
DavValidationException
Base class for WebDAV validation exceptions These exceptions are converted to HTTP responses by middleware
ETagValidationException
Thrown when ETag validation fails
ParentValidationException
Thrown when parent directory validation fails
ReadOnlyException
Thrown when server is in read-only mode
ResourceLockedException
Thrown when resource is locked
UploadSizeLimitException
Thrown when upload size exceeds limit