From b999b472187cd2e9eea3da6c4cf1d07d1f37bf9c Mon Sep 17 00:00:00 2001 From: Louis DeJardin Date: Fri, 17 Jul 2015 07:43:32 -0700 Subject: [PATCH] String concatination showed up in profiler --- .../Http/ReasonPhrases.cs | 116 +++++++++++++++++- 1 file changed, 114 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNet.Server.Kestrel/Http/ReasonPhrases.cs b/src/Microsoft.AspNet.Server.Kestrel/Http/ReasonPhrases.cs index 8406449709..fe8fa6e19e 100644 --- a/src/Microsoft.AspNet.Server.Kestrel/Http/ReasonPhrases.cs +++ b/src/Microsoft.AspNet.Server.Kestrel/Http/ReasonPhrases.cs @@ -11,7 +11,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http { if (string.IsNullOrEmpty(reasonPhrase)) { - reasonPhrase = ToReasonPhrase(statusCode); + return ToStatusPhrase(statusCode); } return statusCode.ToString(CultureInfo.InvariantCulture) + " " + reasonPhrase; } @@ -128,6 +128,118 @@ namespace Microsoft.AspNet.Server.Kestrel.Http return null; } } - } + public static string ToStatusPhrase(int statusCode) + { + switch (statusCode) + { + case 100: + return "100 Continue"; + case 101: + return "101 Switching Protocols"; + case 102: + return "102 Processing"; + case 200: + return "200 OK"; + case 201: + return "201 Created"; + case 202: + return "202 Accepted"; + case 203: + return "203 Non-Authoritative Information"; + case 204: + return "204 No Content"; + case 205: + return "205 Reset Content"; + case 206: + return "206 Partial Content"; + case 207: + return "207 Multi-Status"; + case 226: + return "226 IM Used"; + case 300: + return "300 Multiple Choices"; + case 301: + return "301 Moved Permanently"; + case 302: + return "302 Found"; + case 303: + return "303 See Other"; + case 304: + return "304 Not Modified"; + case 305: + return "305 Use Proxy"; + case 306: + return "306 Reserved"; + case 307: + return "307 Temporary Redirect"; + case 400: + return "400 Bad Request"; + case 401: + return "401 Unauthorized"; + case 402: + return "402 Payment Required"; + case 403: + return "403 Forbidden"; + case 404: + return "404 Not Found"; + case 405: + return "405 Method Not Allowed"; + case 406: + return "406 Not Acceptable"; + case 407: + return "407 Proxy Authentication Required"; + case 408: + return "408 Request Timeout"; + case 409: + return "409 Conflict"; + case 410: + return "410 Gone"; + case 411: + return "411 Length Required"; + case 412: + return "412 Precondition Failed"; + case 413: + return "413 Request Entity Too Large"; + case 414: + return "414 Request-URI Too Long"; + case 415: + return "415 Unsupported Media Type"; + case 416: + return "416 Requested Range Not Satisfiable"; + case 417: + return "417 Expectation Failed"; + case 418: + return "418 I'm a Teapot"; + case 422: + return "422 Unprocessable Entity"; + case 423: + return "423 Locked"; + case 424: + return "424 Failed Dependency"; + case 426: + return "426 Upgrade Required"; + case 500: + return "500 Internal Server Error"; + case 501: + return "501 Not Implemented"; + case 502: + return "502 Bad Gateway"; + case 503: + return "503 Service Unavailable"; + case 504: + return "504 Gateway Timeout"; + case 505: + return "505 HTTP Version Not Supported"; + case 506: + return "506 Variant Also Negotiates"; + case 507: + return "507 Insufficient Storage"; + case 510: + return "510 Not Extended"; + default: + return statusCode.ToString(CultureInfo.InvariantCulture) + " Unknown"; + } + } + } }