WebDAVSharp.Server
This
implementation wraps around a
instance.
Initializes a new instance of the class.
The to adapt for WebDAV#.
context
is null.
Gets the internal instance that was adapted for WebDAV#.
The adapted instance.
Gets the request adapter.
Gets the response adapter.
This
implementation wraps around a
instance.
Initializes a new instance of the class.
The to adapt for WebDAV#.
request
is null.
Gets the internal instance that was adapted for WebDAV#.
The adapted instance.
Gets the client IP address and port number from which the request originated.
Gets the object requested by the client.
Gets the HTTP method specified by the client.
Gets the collection of header name/value pairs sent in the request.
Gets a that contains the body data sent by the client.
Gets the content that can be used with data sent with the request.
Gets the length of the body data included in the request.
This
implementation wraps around a
instance.
Initializes a new instance of the class.
The to adapt for WebDAV#.
Response
is null.
Gets the internal instance that was adapted for WebDAV#.
The adapted instance.
Gets or sets the HTTP status code to be returned to the client.
Gets or sets a text description of the HTTP status code returned to the client.
Gets a object to which a response can be written.
Gets or sets the for this response's .
Gets or sets the number of bytes in the body data included in the response.
Sends the response to the client and releases the resources held by the adapted
instance.
Appends a value to the specified HTTP header to be sent with the response.
The name of the HTTP header to append the to.
The value to append to the header.
This interface is implemented by other adapters in the WebDAV#
project, to facilitate access to the underlying adapted object.
The type of internal instance that is adapted.
Gets the internal instance that was adapted for WebDAV#.
The adapted instance.
This is an interface-version of the parts of
that
the
requires to operator.
The main purpose of this interface is to facilitate unit-testing.
Gets the request adapter.
The request.
Gets the response adapter.
The response.
This is an interface-version of the parts of
that
the
requires to operator.
The main purpose of this interface is to facilitate unit-testing.
Gets the client IP address and port number from which the request originated.
The remote end point.
Gets the object requested by the client.
The URL.
Gets the HTTP method specified by the client.
The HTTP method.
Gets the collection of header name/value pairs sent in the request.
The headers.
Gets a that contains the body data sent by the client.
The input stream.
Gets the content that can be used with data sent with the request.
The content encoding.
Gets the length of the body data included in the request.
The content length64.
This is an interface-version of the parts of
that
the
requires to operator.
The main purpose of this interface is to facilitate unit-testing.
Gets or sets the HTTP status code to be returned to the client.
The status code.
Gets or sets a text description of the HTTP status code returned to the client.
The status description.
Gets a object to which a response can be written.
The output stream.
Gets or sets the for this response's .
The content encoding.
Gets or sets the number of bytes in the body data included in the response.
The content length64.
Sends the response to the client and releases the resources held by the adapted
instance.
Appends a value to the specified HTTP header to be sent with the response.
The name of the HTTP header to append the to.
The value to append to the header.
This is an interface-version of the parts of
that
the
requires to operator.
The main purpose of this interface is to facilitate unit-testing.
Waits for a request to come in to the web server and returns a
adapter around it.
A
to use for aborting the wait. If this
event becomes set before a request comes in, this method will return
null.
A
adapter object for a request;
or
null if the wait for a request was aborted due to
being set.
Gets the Uniform Resource Identifier (
) prefixes handled by the
adapted
object.
The prefixes.
Allows the adapted to receive incoming requests.
Causes the adapted to stop receiving incoming requests.
This
implementation wraps around a
instance.
Initializes a new instance of the class.
Releases unmanaged and - optionally - managed resources
true to release both managed and unmanaged resources; false to release only unmanaged resources.
Waits for a request to come in to the web server and returns a
adapter around it.
A
to use for aborting the wait. If this
event becomes set before a request comes in, this method will return
null.
A
adapter object for a request;
or
null if the wait for a request was aborted due to
being set.
abortEvent
is null.
Gets the internal instance that was adapted for WebDAV#.
The adapted instance.
Gets the Uniform Resource Identifier (
) prefixes handled by the
adapted
object.
Allows the adapted to receive incoming requests.
Causes the adapted to stop receiving incoming requests.
Statuscode: 411 Length Required.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
This exception is thrown when the media type is unsupported.
Statuscode: 415 Unsupported Media Type
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
This exception is thrown when one of the preconditions failed.
Statuscode: 412 Precondition Failed.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
Statuscode: 403 Forbidden.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
This exception is thrown when the user is not authorized to execute the request.
Statuscode: 401 Unauthorized.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
This exception is thrown when a request cannot be completed due to a conflict with the requested
resource.
Statuscode: 409 Conflict.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
This exception, or a descendant, is thrown when requests fail, specifying the status code
that the server should return back to the client.
Initializes a new instance of the class.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
Initializes a new instance of the class.
The that holds the serialized object data about the exception being thrown.
The that contains contextual information about the source or destination.
The parameter is null.
The class name is null or is zero (0).
Initializes a new instance of the class.
The HTTP status code that this maps to.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
Gets the HTTP status code that this maps to.
The status code.
Gets the status description for the HTTP .
The status description.
When overridden in a derived class, sets the with information about the exception.
The that holds the serialized object data about the exception being thrown.
The that contains contextual information about the source or destination.
The parameter is a null reference (Nothing in Visual Basic).
Gets the message.
The status code.
The message.
The message and the status description.
This exception is thrown when the server throws a different exception than the standard
ones that
knows how to respond to.
Statuscode: 500 Internal Server Error.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
This exception is thrown when a request uses a HTTP method to request or manipulate a resource
for which the specified HTTP method is not allowed.
Statuscode: 405 Method Not Allowed.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
This exception is thrown when a request tries to access a resource that does not exist.
Statuscode: 404 Not Found.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
This exception is thrown when a request uses a HTTP method or functionality that has yet to
be implemented.
Statuscode: 501 Not Implemented.
Initializes a new instance of the class.
The exception message stating the reason for the exception being thrown.
The
that is the cause for this exception;
or
null if no inner exception is specified.
The property with all the information of a lock
The standard constructor
The constructor with all the specific values
The locktype of the lock
The lockscope of the lock
The depth of the lock
The owner of the lock
The timeout of the lock
The locktoken.
This class implements the PROPFIND HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
specifies a request for a store item that does not exist.
- or -
specifies a request for a store item that is not a document.
specifies a request for a store item using a collection path that does not exist.
This class implements the LOCK HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
This is the base class for implementations.
Retrieves a store item through the specified
from the
specified
and
.
The to retrieve the store item for.
The that hosts the .
The from which to retrieve the store item.
The retrieved store item.
is null.
is null.
is null.
If the item was not found.
refers to a document in a collection, where the collection does not exist.
refers to a document that does not exist.
Get the parent collection from the requested
.
409 Conflict possible.
The through which the request came in from the client.
The that the is hosting.
The object containing the specific location of the child
The parrent collection as an
When the user is unauthorized and doesn't have access
When the parent collection doesn't exist
Get the item in the collection from the requested
.
409 Conflict possible.
The parent collection as a
The object containing the specific location of the child
The from the
If user is not authorized to get access to the item
If item not found.
Gets the Depth header : 0, 1 or infinity
The with the response included
The values 0, 1 or -1 (for infinity)
Gets the Overwrite header : T or F
The has the header included
The true if overwrite, false if no overwrite
Gets the Timeout header : Second-number
The request with the request included
The value of the Timeout header as a string
Gets the Destination header as an URI
The has the header included
The containing the destination
This class implements the PROPFIND HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
Get the URI to the location
If no slash at the end of the URI, this method adds one
The that contains the URI
The that contains the given uri
Convert the given
to a
of
This list depends on the "Depth" header
The that needs to be converted
The "Depth" header
A of
Reads the XML body of the
and converts it to an
The
The that contains the request body
Adds the standard properties for an Propfind allprop request to a of
The list with all the
Builds the containing the response body
The
The boolean defining the Propfind propname request
The containing the response body
Gives the
of a
with or without values
or with or without child elements
The
The containing the response body
The
The boolean defining the Propfind propname request
The of the containing a value or child elements
Gets the correct value for a
The defines the values
The that needs a value
A containing the value
Sends the response
The containing the response
The containing the response body
This class implements the COPY HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
Copies the item.
The server.
The context.
The store.
The source.
This class implements the DELETE HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
This class implements the MKCOL HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
This class implements the MOVE HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
Moves the
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
The that will be moved
If the source path is the same as the destination path
If one of the preconditions failed
This class implements the OPTIONS HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
This class implements the PROPPATCH HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
This class implements the PUT HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
If the ContentLength header was not found
This class implements the PUT HTTP method for WebDAV#.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
This interface must be implemented by a class that will respond
to requests from a client by handling specific HTTP methods.
Gets the collection of the names of the HTTP methods handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
This class implements the GET HTTP method for WebDAV#.
Gets the collection of the names of the verbs handled by this instance.
The names.
Processes the request.
The through which the request came in from the client.
The
object containing both the request and response
objects to use.
The that the is hosting.
specifies a request for a store item that does not exist.
- or -
specifies a request for a store item that is not a document.
specifies a request for a store item using a collection path that does not exist.
This class contains code to produce the built-in
instances known by WebDAV#.
Gets the collection of built-in
HTTP method handler instances.
Scans the WebDAV# assemblies for known
types.
For generating an MD5 hash
Source:
Compute hash for string encoded as UTF8
String to be hashed
32-character hex string
Convert an array of bytes to a string of hex digits
Array of bytes
String of hex digits
Contains the values of status codes defined for Http (WebDav).
Equivalent to Http status 207 (WebDav).
WebDAVSharp.Server.Utilities.WebDavStatusCode.MultiStatus provides status for multiple independent operations.
For more information, see .
Equivalent to Http status 422 (WebDav).
WebDAVSharp.Server.Utilities.WebDavStatusCode.UnprocessableEntity means the server understands the content type of the request entity (hence a 415 () status code is inappropriate), and the syntax of the request entity is correct (thus a 400 () status code is inappropriate) but was unable to process the contained instructions.
For more information, see .
Equivalent to Http status 423 (WebDav).
WebDAVSharp.Server.Utilities.WebDavStatusCode.Locked means the source or destination resource of a method is locked.
For more information, see .
Equivalent to Http status 424 (WebDav).
WebDAVSharp.Server.Utilities.WebDavStatusCode.FailedDependency means that the method could not be performed on the resource because the requested action depended on another action and that action failed.
For more information, see .
Equivalent to Http status 507 (WebDav).
WebDAVSharp.Server.Utilities.WebDavStatusCode.InsufficientStorage means the method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.
For more information, see .
This is the base class for implementations.
Initializes a new instance of the class.
The parent that contains this implementation.
The name of this
is null.
Gets or sets the mime type of this .
The type of the MIME.
This class is a base class for implementations.
Initializes a new instance of the class.
The root .
root
is null.
Gets the root collection of this .
This is the base class for implementations.
Initializes a new instance of the class.
The parent that contains this implementation.
The name of this
name
is null.
Gets the parent that owns this .
Gets or sets the name of this .
Gets the creation date of this .
Gets the modification date of this .
Gets the path to this .
Gets if this is a collection.
Gets the hidden state of this .
Called before the name of this is changing.
The old name of this .
The new name of this .
true if the name change is allowed;
otherwise,
false.
Called after the name of this has changed.
The old name of this .
The new name of this .
This class implements a disk-based .
Initializes a new instance of the class.
The root path of a folder on disk to host in this .
is null.
specifies a folder that does not exist.
Gets the root path for the folder that is hosted in this .
The root path.
Gets the root collection of this .
This class implements a disk-based that maps to a folder on disk.
Initializes a new instance of the class.
The parent that contains this .
The path to the folder on this that this maps to.
Gets a collection of all the items in this .
If the user is unauthorized or doesn't have access
Checks if the user has access to the path
The path.
True if access, false if not
Checks if access to the file is granted.
The path to the file as a
The true if the user has access, else false
Source:
Checks if access to the directory is granted.
The path to the director as a
The true if the user has access, else false
Source:
Retrieves a store item by its name.
The name of the store item to retrieve.
The store item that has the specified
;
or
null if there is no store item with that name.
Creates a new collection with the specified name.
The name of the new collection.
The created instance.
When the user is unauthorized or has no access
Deletes a store item by its name.
The name of the store item to delete.
If the item was not found.
If the user is unauthorized or has no access.
Creates a new document with the specified name.
The name of the new document.
The created instance.
If the item already exists
If the user is unauthorized or has no access
Copies an existing store item into this collection, overwriting any existing items.
The store item to copy from.
The name of the copy to create of .
The boolean for copying the containing files/folders or not.
The created instance.
If the user is unauthorized or has no access
Directories the copy.
Name of the source dir.
Name of the dest dir.
if set to true [copy sub dirs].
Source directory does not exist or could not be found:
+ sourceDirName
Moves an existing store item into this collection, overwriting any existing items.
The store item to move.
The
that refers to the item that was moved,
in its new location.
The moved instance.
Path to the source item not defined.
If the user is unauthorized or has no access
Note that the method should fail without creating or overwriting content in the
target collection if the move cannot go through.
This class implements a disk-based mapped to a file.
Initializes a new instance of the class.
The parent
that contains this
;
or
null if this is the root
.
The path that this maps to.
is null or empty.
Gets the size of the document in bytes.
Gets the mime type of this .
Gets the etag of this .
Opens a object for the document, in read-only mode.
The object that can be read from.
If the user is unauthorized or has no access
This class implements a disk-based
which can be either
a folder on disk (
) or a file on disk
(
).
Gets the Identity of the person logged on via HTTP Request.
Log
Initializes a new instance of the class.
The parent
that contains this
;
or
null if this is the root
.
The path that this maps to.
path
is null or empty.
Gets the path to this .
Gets or sets the name of this .
Unable to rename item
Gets if this is a collection.
Gets the creation date of this .
Gets the modification date of this .
Gets the hidden state of this .
Source:
This interface must be implemented by classes that serve as stores of collections and
documents for the
.
Gets the root collection of this .
The root.
This interface must be implemented by classes that operate as document collections in a store.
Gets a collection of all the items in this .
The items.
Retrieves a store item by its name.
The name of the store item to retrieve.
The store item that has the specified
;
or
null if there is no store item with that name.
Creates a new collection with the specified name.
The name of the new collection.
The created instance.
Deletes a store item by its name.
The name of the store item to delete.
Creates a new document with the specified name.
The name of the new document.
The created instance.
Copies an existing store item into this collection, overwriting any existing items.
The store item to copy from.
The name of the copy to create of .
The boolean for copying the containing files/folders or not.
The created instance.
Moves an existing store item into this collection, overwriting any existing items.
The store item to move.
The
that refers to the item that was moved,
in its new location.
The moved instance.
Note that the method should fail without creating or overwriting content in the
target collection if the move cannot go through.
This interface must be implemented by classes that will function as a store document.
Gets the size of the document in bytes.
Gets the mime type of .
The type of the MIME.
Gets the etag of this .
The etag.
Opens a object for the document, in read-only mode.
The object that can be read from.
This interface must be implemented by classes that will function as a store item,
which is either a document (
) or a
collection of documents (
.)
Gets the parent that owns this .
The parent collection.
Gets or sets the name of this .
The name.
Gets the ItemPath of this .
The item path.
Gets if this is a collection.
true if this instance is collection; otherwise, false.
Gets the creation date of this .
The creation date.
Gets the modification date of this .
The modification date.
Gets the hidden state of this .
1 if hidden, 0 if not.
This abstract base class implements the pattern in a reusable way.
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
This method will ensure that the object has not been disposed of through a call
to
, and if it has, it will throw
The object has been disposed of.
Releases unmanaged and - optionally - managed resources
true to release both managed and unmanaged resources; false to release only unmanaged resources.
This class holds extension methods for various types related to WebDAV#.
Sends a simple response with a specified HTTP status code but no content.
The to send the response through.
The HTTP status code for the response.
context
is null.
This class implements the core WebDAV server.
This class implements the core WebDAV server.
This class implements the core WebDAV server.
This class implements the core WebDAV server.
Standard constructor
Constructor for the WebDAVProperty class with "DAV:" as namespace and an empty value
The name of the WebDAV property
Constructor for the WebDAVProperty class with "DAV:" as namespace
The name of the WebDAV property
The value of the WebDAV property
Constructor for the WebDAVProperty class
The name of the WebDAV property
The value of the WebDAV property
The namespace of the WebDAV property
This class implements the core WebDAV server.
A that represents this instance.
This class implements the core WebDAV server.
The begin tag of an XML element as a string
This class implements the core WebDAV server.
An empty XML element as a string
This class implements the core WebDAV server.
The closing tag of an XML element as a string
Creates an XmlDocumentFragment from the current WebDAVProperty
The XmlDocument where a XmlDocumentFragment is needed
The XmlDocumentFragment of the current WebDAVProperty object
reates an XmlElement from the current WebDAVProperty
The XmlDocument where a XmlElement is needed
The XmlElement of the current WebDAVProperty object
This class implements the core WebDAV server.
The HTTP user
Initializes a new instance of the class.
The
store object that will provide
collections and documents for this
.
The
object that will handle the web server portion of
the WebDAV server; or
null to use a fresh one.
A collection of HTTP method handlers to use by this
;
or
null to use the built-in method handlers.
is null.
- or -
is null.
is empty.
- or -
contains a null-reference.
Gets the
that this
uses for
the web server portion.
The listener.
Gets the this is hosting.
The store.
Releases unmanaged and - optionally - managed resources
true to release both managed and unmanaged resources; false to release only unmanaged resources.
Starts this
and returns once it has
been stopped successfully.
This WebDAVServer instance is not running, call to Stop is invalid at this point
This instance has been disposed of.
The server is not running.
Processes the request.
The context.
If the method to process is not allowed
If the user is unauthorized or has no access
If the item was not found
If a method is not yet implemented
If the server had an internal problem