|
using System.Runtime.CompilerServices;
namespace System.Net
{
internal static class HttpStatusDescription
{
// from ndp\fx\src\xsp\system\web\workerrequest.cs
private static readonly string[][] httpStatusDescriptions = new string[][]
{
null,
new string[]
{
/* 100 */ "Continue",
/* 101 */ "Switching Protocols",
/* 102 */ "Processing"
},
new string[]
{
/* 200 */ "OK",
/* 201 */ "Created",
/* 202 */ "Accepted",
/* 203 */ "Non-Authoritative Information",
/* 204 */ "No Content",
/* 205 */ "Reset Content",
/* 206 */ "Partial Content",
/* 207 */ "Multi-Status"
},
new string[]
{
/* 300 */ "Multiple Choices",
/* 301 */ "Moved Permanently",
/* 302 */ "Found",
/* 303 */ "See Other",
/* 304 */ "Not Modified",
/* 305 */ "Use Proxy",
/* 306 */ null,
/* 307 */ "Temporary Redirect"
},
new string[]
{
/* 400 */ "Bad Request",
/* 401 */ "Unauthorized",
/* 402 */ "Payment Required",
/* 403 */ "Forbidden",
/* 404 */ "Not Found",
/* 405 */ "Method Not Allowed",
/* 406 */ "Not Acceptable",
/* 407 */ "Proxy Authentication Required",
/* 408 */ "Request Timeout",
/* 409 */ "Conflict",
/* 410 */ "Gone",
/* 411 */ "Length Required",
/* 412 */ "Precondition Failed",
/* 413 */ "Request Entity Too Large",
/* 414 */ "Request-Uri Too Long",
/* 415 */ "Unsupported Media Type",
/* 416 */ "Requested Range Not Satisfiable",
/* 417 */ "Expectation Failed",
/* 418 */ null,
/* 419 */ null,
/* 420 */ null,
/* 421 */ null,
/* 422 */ "Unprocessable Entity",
/* 423 */ "Locked",
/* 424 */ "Failed Dependency",
/* 425 */ null,
/* 426 */ "Upgrade Required", // RFC 2817
},
new string[]
{
/* 500 */ "Internal Server Error",
/* 501 */ "Not Implemented",
/* 502 */ "Bad Gateway",
/* 503 */ "Service Unavailable",
/* 504 */ "Gateway Timeout",
/* 505 */ "Http Version Not Supported",
/* 506 */ null,
/* 507 */ "Insufficient Storage"
}
};
[FriendAccessAllowed]
internal static string Get(HttpStatusCode code)
{
return Get((int)code);
}
internal static string Get(int code)
{
if (code >= 100 && code < 600)
{
int i = code / 100;
int j = code % 100;
if (j < httpStatusDescriptions[i].Length)
{
return httpStatusDescriptions[i][j];
}
}
return null;
}
}
}
|