DAVConfig class

Configuration options for ShelfDAV server

Constructors

DAVConfig({required Directory root, required String prefix, bool allowAnonymous = true, int? maxConcurrentRequests, int? maxUploadSize, bool enableLocking = false, LockStorage? lockStorage, bool readOnly = false, bool verbose = false, PropertyStorageType propertyStorageType = PropertyStorageType.memory, PropertyStorage? customPropertyStorage, ThrottleConfig? throttleConfig, bool enableThrottling = true, AuthenticationProvider? authenticationProvider, AuthorizationProvider? authorizationProvider, Metrics? metrics})
const

Properties

allowAnonymous bool
Whether to allow anonymous access (no authentication required)
final
authenticationProvider AuthenticationProvider?
Authentication provider If null and allowAnonymous is true, no authentication is required
final
authorizationProvider AuthorizationProvider?
Authorization provider If null, all authenticated users have full access
final
customPropertyStorage PropertyStorage?
Custom property storage implementation Only used when propertyStorageType is PropertyStorageType.custom
final
enableLocking bool
Whether locking is enabled (LOCK/UNLOCK operations)
final
enableThrottling bool
Whether to enable request throttling
final
hashCode int
The hash code for this object.
no setterinherited
lockStorage LockStorage?
Custom lock storage implementation If null and enableLocking is true, uses MemoryLockStorage
final
maxConcurrentRequests int?
Maximum number of concurrent requests to process If null, no limit is imposed
final
maxUploadSize int?
Maximum upload size in bytes If null, no limit is imposed
final
metrics Metrics?
Metrics collector for server operations If null, uses the global defaultMetrics instance
final
prefix String
The URL prefix for the WebDAV server
final
propertyStorageType PropertyStorageType
Property storage backend type
final
readOnly bool
Whether the server is read-only (no PUT, DELETE, MOVE, COPY, MKCOL)
final
root → Directory
The root directory to serve
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
throttleConfig ThrottleConfig?
Throttle configuration for rate limiting and concurrency control If null, uses default throttling (100 concurrent, 10 req/sec)
final
verbose bool
Whether to log detailed debug information
final

Methods

copyWith({Directory? root, String? prefix, bool? allowAnonymous, int? maxConcurrentRequests, int? maxUploadSize, bool? enableLocking, LockStorage? lockStorage, bool? readOnly, bool? verbose, PropertyStorageType? propertyStorageType, PropertyStorage? customPropertyStorage, ThrottleConfig? throttleConfig, bool? enableThrottling, AuthenticationProvider? authenticationProvider, AuthorizationProvider? authorizationProvider, Metrics? metrics}) DAVConfig
Create a copy of this config with some fields replaced
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited