Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

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