New test.
[mono.git] / mcs / class / System.Web.Mvc2 / System.Web.Mvc / FileContentResult.cs
1 /* ****************************************************************************\r
2  *\r
3  * Copyright (c) Microsoft Corporation. All rights reserved.\r
4  *\r
5  * This software is subject to the Microsoft Public License (Ms-PL). \r
6  * A copy of the license can be found in the license.htm file included \r
7  * in this distribution.\r
8  *\r
9  * You must not remove this notice, or any other, from this software.\r
10  *\r
11  * ***************************************************************************/\r
12 \r
13 namespace System.Web.Mvc {\r
14     using System;\r
15     using System.Diagnostics.CodeAnalysis;\r
16     using System.Web;\r
17 \r
18     public class FileContentResult : FileResult {\r
19 \r
20         public FileContentResult(byte[] fileContents, string contentType)\r
21             : base(contentType) {\r
22             if (fileContents == null) {\r
23                 throw new ArgumentNullException("fileContents");\r
24             }\r
25 \r
26             FileContents = fileContents;\r
27         }\r
28 \r
29         [SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays",\r
30             Justification = "There's no reason to tamper-proof this array since it's supplied to the type's constructor.")]\r
31         public byte[] FileContents {\r
32             get;\r
33             private set;\r
34         }\r
35 \r
36         protected override void WriteFile(HttpResponseBase response) {\r
37             response.OutputStream.Write(FileContents, 0, FileContents.Length);\r
38         }\r
39 \r
40     }\r
41 }\r