provide installation instructions
[extjs.git] / examples / feed-viewer / feed-proxy.ashx.vb
1 Imports System.Web\r
2 Imports System.Web.Services\r
3 Imports System\r
4 Imports System.IO\r
5 Imports System.Net\r
6 \r
7 Public Class feedproxy1\r
8     Implements System.Web.IHttpHandler\r
9 \r
10   Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest\r
11 \r
12     'Address of URL\r
13     'Dim URL As String = "http://www.jackslocum.com/yui/feed/"\r
14     Dim URL As String = context.Request.Form("feed")\r
15     'Only allow http:// prefix\r
16     If IsNothing(URL) Then\r
17       Exit Sub\r
18     End If\r
19     If URL.Substring(0, 7) = "http://" Then\r
20       Try\r
21         'Dim enc As Encoding = Encoding.GetEncoding("UTF-8")\r
22         Dim enc As Encoding = Encoding.GetEncoding("ISO-8859-1")\r
23 \r
24         Dim request As HttpWebRequest = WebRequest.Create(URL)\r
25         Dim response As HttpWebResponse = request.GetResponse()\r
26         Dim reader As StreamReader = New StreamReader(response.GetResponseStream(), enc)\r
27         Dim str As String '= reader.ReadLine()\r
28         Dim reply As String = ""\r
29         'Do While str.Length > 0 And Not reader.EndOfStream\r
30         Do While Not reader.EndOfStream\r
31           str = reader.ReadLine()\r
32           reply &= str & vbCrLf\r
33           'Console.WriteLine(str)\r
34         Loop\r
35         context.Response.ContentType = "text/xml"\r
36         context.Response.ContentEncoding = enc\r
37         context.Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))\r
38         context.Response.Cache.SetCacheability(HttpCacheability.Public)\r
39 \r
40         context.Response.Write(reply)\r
41       Catch ex As Exception\r
42       End Try\r
43 \r
44     End If\r
45 \r
46   End Sub\r
47 \r
48     ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable\r
49         Get\r
50             Return False\r
51         End Get\r
52     End Property\r
53 \r
54 End Class