wasSharp – Blame information for rev
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | zed | 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; |
||
6 | eva | 9 | using System.Linq.Expressions; |
3 | eva | 10 | using System.Net; |
1 | zed | 11 | |
12 | namespace wasSharp |
||
13 | { |
||
14 | public class Web |
||
15 | { |
||
16 | /////////////////////////////////////////////////////////////////////////// |
||
17 | // Copyright (C) Wizardry and Steamworks 2014 - License: GNU GPLv3 // |
||
18 | /////////////////////////////////////////////////////////////////////////// |
||
19 | /// <summary>RFC3986 URI Escapes a string</summary> |
||
6 | eva | 20 | /// <remarks> |
21 | /// data - a string to escape |
||
22 | /// </remarks> |
||
1 | zed | 23 | /// <returns>an RFC3986 escaped string</returns> |
6 | eva | 24 | public static Func<string, string> URIEscapeDataString = |
25 | ((Expression<Func<string, string>>) |
||
26 | (data => string.Join("", Enumerable.Range(0, (data.Length + 32765)/32766) |
||
27 | .Select(o => Uri.EscapeDataString(data.Substring(o*32766, Math.Min(32766, data.Length - (o*32766))))) |
||
28 | .ToArray()))).Compile(); |
||
1 | zed | 29 | |
30 | /////////////////////////////////////////////////////////////////////////// |
||
31 | // Copyright (C) Wizardry and Steamworks 2014 - License: GNU GPLv3 // |
||
32 | /////////////////////////////////////////////////////////////////////////// |
||
33 | /// <summary>URI unescapes an RFC3986 URI escaped string</summary> |
||
6 | eva | 34 | /// <remarks> |
35 | /// data - a string to unescape |
||
36 | /// </remarks> |
||
1 | zed | 37 | /// <returns>the resulting string</returns> |
6 | eva | 38 | public static Func<string, string> URIUnescapeDataString = |
39 | ((Expression<Func<string, string>>) |
||
40 | (data => string.Join("", Enumerable.Range(0, (data.Length + 32765)/32766) |
||
41 | .Select( |
||
42 | o => Uri.UnescapeDataString(data.Substring(o*32766, Math.Min(32766, data.Length - (o*32766))))) |
||
43 | .ToArray()))).Compile(); |
||
1 | zed | 44 | |
45 | /////////////////////////////////////////////////////////////////////////// |
||
46 | // Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 // |
||
47 | /////////////////////////////////////////////////////////////////////////// |
||
48 | /// <summary>RFC1738 URL Escapes a string</summary> |
||
49 | /// <param name="data">a string to escape</param> |
||
50 | /// <returns>an RFC1738 escaped string</returns> |
||
5 | eva | 51 | public static string URLEscapeDataString(string data) |
1 | zed | 52 | { |
3 | eva | 53 | return WebUtility.UrlEncode(data); |
1 | zed | 54 | } |
55 | |||
56 | /////////////////////////////////////////////////////////////////////////// |
||
57 | // Copyright (C) Wizardry and Steamworks 2015 - License: GNU GPLv3 // |
||
58 | /////////////////////////////////////////////////////////////////////////// |
||
59 | /// <summary>RFC1738 URL Unescape a string</summary> |
||
60 | /// <param name="data">a string to unescape</param> |
||
61 | /// <returns>an RFC1738 unescaped string</returns> |
||
5 | eva | 62 | public static string URLUnescapeDataString(string data) |
1 | zed | 63 | { |
3 | eva | 64 | return WebUtility.UrlDecode(data); |
1 | zed | 65 | } |
66 | } |
||
67 | } |