using System;
namespace Sphorium.WebDAV.Server.Framework.BaseClasses{
/// <summary>
/// Dav Head Framework Base Class
/// </summary>
/// <remarks>
/// RFC2518 Compliant
///
/// <code>
/// The ProcessDavRequest event must follow the following rules addressed in RFC2518
/// http://www.webdav.org/specs/rfc2518.html#rfc.section.8.4
///
/// - If the requested resource does not exist the method MUST fail with:
///
/// base.AbortRequest(ServerResponseCode.NotFound)
/// </code>
///
/// <code>
/// Returns ServerResponseCode.OK when successful
/// </code>
/// <seealso cref="DavMethodBase.ServerResponseCode"/>
/// <seealso cref="DavMethodBase.AbortRequest(System.Enum)"/>
/// </remarks>
public abstract class DavHeadBase : DavMethodBase
{
/// <summary>
/// Dav Head Framework Base Class
/// </summary>
protected DavHeadBase()
{
this.ValidateDavRequest += new DavRequestValidator(DavHeadBase_ValidateDavRequest);
this.InternalProcessDavRequest += new DavInternalProcessHandler(DavHeadBase_InternalProcessDavRequest);
}
private int DavHeadBase_ValidateDavRequest(object sender, EventArgs e)
{
if (base.RequestLength != 0)
return (int)ServerResponseCode.BadRequest;
return (int)ServerResponseCode.Ok;
}
private int DavHeadBase_InternalProcessDavRequest(object sender, EventArgs e)
{
return (int)ServerResponseCode.Ok;
}
}
}
|