e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
130 lines
3.8 KiB
C#
130 lines
3.8 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="HTTPNotFoundHandler.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
/*
|
|
* Synchronous Http request handler interface
|
|
*
|
|
* Copyright (c) 1998 Microsoft Corporation
|
|
*/
|
|
|
|
namespace System.Web {
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Provides a synchronous Http request handler interface.</para>
|
|
/// </devdoc>
|
|
internal class HttpNotFoundHandler : IHttpHandler {
|
|
|
|
internal HttpNotFoundHandler() {
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Drives web processing execution.</para>
|
|
/// </devdoc>
|
|
public void ProcessRequest(HttpContext context) {
|
|
PerfCounters.IncrementCounter(AppPerfCounter.REQUESTS_NOT_FOUND);
|
|
|
|
throw new HttpException(404,
|
|
SR.GetString(SR.Path_not_found, context.Request.Path));
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Indicates whether an HttpNotFoundHandler instance can be recycled and used
|
|
/// for another request.</para>
|
|
/// </devdoc>
|
|
public bool IsReusable {
|
|
get { return true; }
|
|
}
|
|
}
|
|
|
|
|
|
internal class HttpForbiddenHandler : IHttpHandler {
|
|
|
|
internal HttpForbiddenHandler() {
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Drives web processing execution.</para>
|
|
/// </devdoc>
|
|
public void ProcessRequest(HttpContext context) {
|
|
PerfCounters.IncrementCounter(AppPerfCounter.REQUESTS_NOT_FOUND);
|
|
|
|
throw new HttpException(403,
|
|
SR.GetString(SR.Path_forbidden, context.Request.Path));
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Indicates whether an HttpForbiddenHandler instance can be recycled and used
|
|
/// for another request.</para>
|
|
/// </devdoc>
|
|
public bool IsReusable {
|
|
get { return true; }
|
|
}
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Provides a synchronous Http request handler interface.</para>
|
|
/// </devdoc>
|
|
internal class HttpMethodNotAllowedHandler : IHttpHandler {
|
|
|
|
internal HttpMethodNotAllowedHandler() {
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para> Drives
|
|
/// web processing execution.</para>
|
|
/// </devdoc>
|
|
public void ProcessRequest(HttpContext context) {
|
|
throw new HttpException(405,
|
|
SR.GetString(SR.Path_forbidden, context.Request.HttpMethod));
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Indicates whether an HttpForbiddenHandler instance can be recycled and used
|
|
/// for another request.</para>
|
|
/// </devdoc>
|
|
public bool IsReusable {
|
|
get { return true; }
|
|
}
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Provides a synchronous Http request handler interface.</para>
|
|
/// </devdoc>
|
|
internal class HttpNotImplementedHandler : IHttpHandler {
|
|
|
|
internal HttpNotImplementedHandler() {
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Drives web processing execution.</para>
|
|
/// </devdoc>
|
|
public void ProcessRequest(HttpContext context) {
|
|
throw new HttpException(501,
|
|
SR.GetString(SR.Method_for_path_not_implemented, context.Request.HttpMethod, context.Request.Path));
|
|
}
|
|
|
|
|
|
/// <devdoc>
|
|
/// <para>Indicates whether an HttpNotImplementedHandler instance can be recycled and
|
|
/// used for another request.</para>
|
|
/// </devdoc>
|
|
public bool IsReusable {
|
|
get { return true; }
|
|
}
|
|
}
|
|
}
|
|
|