Merge pull request #439 from mono-soc-2012/garyb/iconfix
[mono.git] / mcs / class / System / System.Net.Configuration / HttpWebRequestElement.cs
1 //
2 // System.Net.Configuration.HttpWebRequestElement.cs
3 //
4 // Authors:
5 //      Tim Coleman (tim@timcoleman.com)
6 //      Chris Toshok (toshok@ximian.com)
7 //
8 // Copyright (C) Tim Coleman, 2004
9 // (C) 2004,2005 Novell, Inc. (http://www.novell.com)
10 //
11
12 //
13 // Permission is hereby granted, free of charge, to any person obtaining
14 // a copy of this software and associated documentation files (the
15 // "Software"), to deal in the Software without restriction, including
16 // without limitation the rights to use, copy, modify, merge, publish,
17 // distribute, sublicense, and/or sell copies of the Software, and to
18 // permit persons to whom the Software is furnished to do so, subject to
19 // the following conditions:
20 // 
21 // The above copyright notice and this permission notice shall be
22 // included in all copies or substantial portions of the Software.
23 // 
24 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31         //
32
33 #if CONFIGURATION_DEP
34
35 using System.Configuration;
36
37 namespace System.Net.Configuration 
38 {
39         public sealed class HttpWebRequestElement : ConfigurationElement
40         {
41                 #region Fields
42
43                 static ConfigurationProperty maximumErrorResponseLengthProp;
44                 static ConfigurationProperty maximumResponseHeadersLengthProp;
45                 static ConfigurationProperty maximumUnauthorizedUploadLengthProp;
46                 static ConfigurationProperty useUnsafeHeaderParsingProp;
47                 static ConfigurationPropertyCollection properties;
48
49                 #endregion // Fields
50
51                 #region Constructors
52
53                 static HttpWebRequestElement ()
54                 {
55                         maximumErrorResponseLengthProp = new ConfigurationProperty ("maximumErrorResponseLength", typeof (int), 64);
56                         maximumResponseHeadersLengthProp = new ConfigurationProperty ("maximumResponseHeadersLength", typeof (int), 64);
57                         maximumUnauthorizedUploadLengthProp = new ConfigurationProperty ("maximumUnauthorizedUploadLength", typeof (int), -1);
58                         useUnsafeHeaderParsingProp = new ConfigurationProperty ("useUnsafeHeaderParsing", typeof (bool), false);
59                         properties = new ConfigurationPropertyCollection ();
60
61                         properties.Add (maximumErrorResponseLengthProp);
62                         properties.Add (maximumResponseHeadersLengthProp);
63                         properties.Add (maximumUnauthorizedUploadLengthProp);
64                         properties.Add (useUnsafeHeaderParsingProp);
65                 }
66
67                 public HttpWebRequestElement ()
68                 {
69                 }
70
71                 #endregion // Constructors
72
73                 #region Properties
74
75                 [ConfigurationProperty("maximumErrorResponseLength", DefaultValue = "64")]
76                 public int MaximumErrorResponseLength {
77                         get { return (int) base[maximumErrorResponseLengthProp]; }
78                         set { base [maximumErrorResponseLengthProp] = value; }
79                 }
80
81                 [ConfigurationProperty("maximumResponseHeadersLength", DefaultValue = "64")]
82                 public int MaximumResponseHeadersLength {
83                         get { return (int) base [maximumResponseHeadersLengthProp]; }
84                         set { base [maximumResponseHeadersLengthProp] = value; }
85                 }
86
87                 [ConfigurationProperty("maximumUnauthorizedUploadLength", DefaultValue = "-1")]
88                 public int MaximumUnauthorizedUploadLength {
89                         get { return (int) base [maximumUnauthorizedUploadLengthProp]; }
90                         set { base [maximumUnauthorizedUploadLengthProp] = value; }
91                 }
92
93                 [ConfigurationProperty("useUnsafeHeaderParsing", DefaultValue = "False")]
94                 public bool UseUnsafeHeaderParsing {
95                         get { return (bool) base [useUnsafeHeaderParsingProp]; }
96                         set { base[useUnsafeHeaderParsingProp] = value; }
97                 }
98
99                 protected override ConfigurationPropertyCollection Properties {
100                         get { return properties; }
101                 }
102
103                 #endregion // Properties
104
105
106                 #region Methods
107
108                 [MonoTODO]
109                 protected override void PostDeserialize ()
110                 {
111                         base.PostDeserialize ();
112                 }
113
114                 #endregion // Methods
115         }
116 }
117
118 #endif