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