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