dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] pnetlib/System/Net HttpWebRequest.cs, 1.17, 1.18


From: Rhys Weatherley <address@hidden>
Subject: [Dotgnu-pnet-commits] pnetlib/System/Net HttpWebRequest.cs, 1.17, 1.18
Date: Wed, 12 Nov 2003 04:31:13 +0000

Update of /cvsroot/dotgnu-pnet/pnetlib/System/Net
In directory subversions:/tmp/cvs-serv15649/System/Net

Modified Files:
        HttpWebRequest.cs 
Log Message:


Add some proxy support to System.Net (patch applied by Rhys).


Index: HttpWebRequest.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/Net/HttpWebRequest.cs,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** HttpWebRequest.cs   13 Oct 2003 00:58:25 -0000      1.17
--- HttpWebRequest.cs   12 Nov 2003 04:31:11 -0000      1.18
***************
*** 490,494 ****
        }
  
-       [TODO]
        public override IWebProxy Proxy 
        {
--- 490,493 ----
***************
*** 739,752 ****
                {
                        IPAddress ip=null;
!                       if(req.Address.HostNameType == UriHostNameType.Dns)
                        {
!                               ip=Dns.Resolve(req.Address.Host).AddressList[0];
                        }
!                       else if(req.Address.HostNameType == 
UriHostNameType.IPv4 ||
!                                       req.Address.HostNameType == 
UriHostNameType.IPv6)
                        {
!                               ip=IPAddress.Parse(req.Address.Host);
                        }
!                       IPEndPoint ep = new IPEndPoint(ip,req.Address.Port);
                        Socket server=new 
                                        Socket(ip.AddressFamily, 
SocketType.Stream,
--- 738,754 ----
                {
                        IPAddress ip=null;
!                       Uri nextHop=(req.Proxy!=null) ?
!                               req.Proxy.GetProxy(req.Address) : req.Address;
!                       
!                       if(nextHop.HostNameType == UriHostNameType.Dns)
                        {
!                               ip=Dns.Resolve(nextHop.Host).AddressList[0];
                        }
!                       else if(nextHop.HostNameType == UriHostNameType.IPv4 ||
!                                       nextHop.HostNameType == 
UriHostNameType.IPv6)
                        {
!                               ip=IPAddress.Parse(nextHop.Host);
                        }
!                       IPEndPoint ep = new IPEndPoint(ip,nextHop.Port);
                        Socket server=new 
                                        Socket(ip.AddressFamily, 
SocketType.Stream,
***************
*** 762,765 ****
--- 764,768 ----
                        {
  #if CONFIG_SSL
+                               /* TODO: Tunnel via Proxy before starting SSL */
                                SecureConnection secured=new SecureConnection();
                                Stream retval=secured.OpenStream(sock);
***************
*** 780,787 ****
                        request.headerSent=true; 
                        /* fake it before sending to allow for atomicity */
!                       String requestString= request.Method+" "+
                                        request.Address.PathAndQuery+
                                        " HTTP/"+request.protocolVersion.Major+
                                        
"."+request.protocolVersion.Minor+"\r\n";
                        writer.Write(requestString);
                        writer.Write(request.Headers.ToString());
--- 783,801 ----
                        request.headerSent=true; 
                        /* fake it before sending to allow for atomicity */
!                       String requestString= null;
!                       if(request.Proxy!=null)
!                       {
!                               requestString= request.Method+" "+
!                                       request.Address+
!                                       " HTTP/"+request.protocolVersion.Major+
!                                       
"."+request.protocolVersion.Minor+"\r\n";
!                       }
!                       else
!                       {
!                               requestString= request.Method+" "+
                                        request.Address.PathAndQuery+
                                        " HTTP/"+request.protocolVersion.Major+
                                        
"."+request.protocolVersion.Minor+"\r\n";
+                       }
                        writer.Write(requestString);
                        writer.Write(request.Headers.ToString());





reply via email to

[Prev in Thread] Current Thread [Next in Thread]