corrade-vassal – Blame information for rev 13

Subversion Repositories:
Rev:
Rev Author Line No. Line
13 eva 1 ///////////////////////////////////////////////////////////////////////////
2 // Copyright (C) Wizardry and Steamworks 2013 - License: GNU GPLv3 //
3 // Please see: http://www.gnu.org/licenses/gpl.html for legal details, //
4 // rights of fair usage, the disclaimer and warranty conditions. //
5 ///////////////////////////////////////////////////////////////////////////
6  
7 using System;
8 using System.Linq;
9 using System.Net;
10  
11 namespace wasSharp
12 {
13 public class Web
14 {
15 ///////////////////////////////////////////////////////////////////////////
16 // Copyright (C) Wizardry and Steamworks 2014 - License: GNU GPLv3 //
17 ///////////////////////////////////////////////////////////////////////////
18 /// <summary>RFC3986 URI Escapes a string</summary>
19 /// <param name="data">a string to escape</param>
20 /// <returns>an RFC3986 escaped string</returns>
21 public static string URIEscapeDataString(string data)
22 {
23 // Uri.EscapeDataString can only handle 32766 characters at a time
24 return string.Join("", Enumerable.Range(0, (data.Length + 32765)/32766)
25 .Select(o => Uri.EscapeDataString(data.Substring(o*32766, Math.Min(32766, data.Length - (o*32766)))))
26 .ToArray());
27 }
28  
29 ///////////////////////////////////////////////////////////////////////////
30 // Copyright (C) Wizardry and Steamworks 2014 - License: GNU GPLv3 //
31 ///////////////////////////////////////////////////////////////////////////
32 /// <summary>URI unescapes an RFC3986 URI escaped string</summary>
33 /// <param name="data">a string to unescape</param>
34 /// <returns>the resulting string</returns>
35 public static string URIUnescapeDataString(string data)
36 {
37 // Uri.UnescapeDataString can only handle 32766 characters at a time
38 return string.Join("", Enumerable.Range(0, (data.Length + 32765)/32766)
39 .Select(o => Uri.UnescapeDataString(data.Substring(o*32766, Math.Min(32766, data.Length - (o*32766)))))
40 .ToArray());
41 }
42  
43 ///////////////////////////////////////////////////////////////////////////
44 // Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 //
45 ///////////////////////////////////////////////////////////////////////////
46 /// <summary>RFC1738 URL Escapes a string</summary>
47 /// <param name="data">a string to escape</param>
48 /// <returns>an RFC1738 escaped string</returns>
49 public static string URLEscapeDataString(string data)
50 {
51 return WebUtility.UrlEncode(data);
52 }
53  
54 ///////////////////////////////////////////////////////////////////////////
55 // Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 //
56 ///////////////////////////////////////////////////////////////////////////
57 /// <summary>RFC1738 URL Unescape a string</summary>
58 /// <param name="data">a string to unescape</param>
59 /// <returns>an RFC1738 unescaped string</returns>
60 public static string URLUnescapeDataString(string data)
61 {
62 return WebUtility.UrlDecode(data);
63 }
64 }
65 }