1 // 2 // System.Web.Util.WebEncoding 3 // 4 // Authors: 5 // Gonzalo Paniagua Javier (gonzalo@ximian.com) 6 // 7 // (C) 2002 Ximian, Inc (http://www.ximian.com) 8 // (C) 2003 Novell, Inc (http://www.novell.com) 9 // 10 11 // 12 // Permission is hereby granted, free of charge, to any person obtaining 13 // a copy of this software and associated documentation files (the 14 // "Software"), to deal in the Software without restriction, including 15 // without limitation the rights to use, copy, modify, merge, publish, 16 // distribute, sublicense, and/or sell copies of the Software, and to 17 // permit persons to whom the Software is furnished to do so, subject to 18 // the following conditions: 19 // 20 // The above copyright notice and this permission notice shall be 21 // included in all copies or substantial portions of the Software. 22 // 23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 // 31 32 using System.Text; 33 using System.Web.Configuration; 34 35 namespace System.Web.Util 36 { 37 internal class WebEncoding 38 { 39 static bool cached; 40 static GlobalizationSection sect; 41 static GlobalizationSection GlobalizationConfig { 42 get { 43 if (!cached) { 44 try { 45 sect = (GlobalizationSection) WebConfigurationManager.GetWebApplicationSection ("system.web/globalization"); 46 } 47 catch { } 48 cached = true; 49 } 50 return sect; 51 } 52 } 53 54 static public Encoding FileEncoding { 55 get { 56 return GlobalizationConfig != null ? GlobalizationConfig.FileEncoding : Encoding.Default; 57 } 58 } 59 60 static public Encoding ResponseEncoding { 61 get { 62 return GlobalizationConfig != null ? GlobalizationConfig.ResponseEncoding : Encoding.Default; 63 } 64 } 65 66 static public Encoding RequestEncoding { 67 get { 68 return GlobalizationConfig != null ? GlobalizationConfig.RequestEncoding : Encoding.Default; 69 } 70 } 71 } 72 } 73 74