1 // Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information. 2 3 using System.Net; 4 5 namespace System.Web.Mvc 6 { 7 public class HttpStatusCodeResult : ActionResult 8 { HttpStatusCodeResult(int statusCode)9 public HttpStatusCodeResult(int statusCode) 10 : this(statusCode, null) 11 { 12 } 13 HttpStatusCodeResult(HttpStatusCode statusCode)14 public HttpStatusCodeResult(HttpStatusCode statusCode) 15 : this(statusCode, null) 16 { 17 } 18 HttpStatusCodeResult(HttpStatusCode statusCode, string statusDescription)19 public HttpStatusCodeResult(HttpStatusCode statusCode, string statusDescription) 20 : this((int)statusCode, statusDescription) 21 { 22 } 23 HttpStatusCodeResult(int statusCode, string statusDescription)24 public HttpStatusCodeResult(int statusCode, string statusDescription) 25 { 26 StatusCode = statusCode; 27 StatusDescription = statusDescription; 28 } 29 30 public int StatusCode { get; private set; } 31 32 public string StatusDescription { get; private set; } 33 ExecuteResult(ControllerContext context)34 public override void ExecuteResult(ControllerContext context) 35 { 36 if (context == null) 37 { 38 throw new ArgumentNullException("context"); 39 } 40 41 context.HttpContext.Response.StatusCode = StatusCode; 42 if (StatusDescription != null) 43 { 44 context.HttpContext.Response.StatusDescription = StatusDescription; 45 } 46 } 47 } 48 } 49