[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnetlib/System/Net WebClient.cs,1.1,1.2
From: |
Gopal.V <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnetlib/System/Net WebClient.cs,1.1,1.2 |
Date: |
Sun, 25 May 2003 03:24:33 -0400 |
Update of /cvsroot/dotgnu-pnet/pnetlib/System/Net
In directory subversions:/tmp/cvs-serv6252/System/Net
Modified Files:
WebClient.cs
Log Message:
WebClient non-ecma utility class
Index: WebClient.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System/Net/WebClient.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** WebClient.cs 14 May 2003 18:48:23 -0000 1.1
--- WebClient.cs 25 May 2003 07:24:31 -0000 1.2
***************
*** 33,44 ****
private WebRequest webrequest=null;
private WebResponse webresponse=null;
! private void WriteToStream(Stream inStream, Stream outStream)
{
byte[] buf = new byte [4096];
int read;
while((read=inStream.Read(buf, 0 , 4096)) > 0)
{
outStream.Write(buf,0,read);
}
}
--- 33,71 ----
private WebRequest webrequest=null;
private WebResponse webresponse=null;
+ private String baseAddress=null;
! private void CreateWebrequest(String str)
! {
! if(str == null)
! {
! throw new ArgumentNullException(str);
! }
! if(webrequest!=null)
! {
! throw new WebException("Multiple connection
attempts");
! }
! Uri uri = new Uri(str);
! webrequest = WebRequest.Create(uri);
! if(webrequest is HttpWebRequest)
! {
! (webrequest as HttpWebRequest).KeepAlive =
false;
! }
! this.baseAddress = str;
! }
!
! private void WriteToStream(Stream inStream, Stream outStream,
! long
maxBytes)
{
byte[] buf = new byte [4096];
int read;
+ bool checkMax = (maxBytes != -1);
while((read=inStream.Read(buf, 0 , 4096)) > 0)
{
outStream.Write(buf,0,read);
+ maxBytes -= read;
+ if(checkMax && maxBytes <= 0)
+ {
+ break;
+ }
}
}
***************
*** 48,53 ****
Stream stream = OpenRead(address);
MemoryStream memory = new MemoryStream();
! WriteToStream(stream, memory);
! return memory.GetBuffer();
}
--- 75,83 ----
Stream stream = OpenRead(address);
MemoryStream memory = new MemoryStream();
! WriteToStream(stream, memory,webresponse.ContentLength);
! byte[] retval = new byte[memory.Length];
! Array.Copy(memory.GetBuffer(),retval,retval.Length);
! memory.Close();
! return retval;
}
***************
*** 56,60 ****
Stream stream = OpenRead(address);
FileStream file = File.OpenWrite(fileName);
! WriteToStream(stream, file);
}
--- 86,91 ----
Stream stream = OpenRead(address);
FileStream file = File.OpenWrite(fileName);
! WriteToStream(stream, file, webresponse.ContentLength);
! file.Close();
}
***************
*** 62,106 ****
public Stream OpenRead(String address)
{
! Uri uri= new Uri(address);
! webrequest = WebRequest.CreateDefault(uri);
webresponse = webrequest.GetResponse();
return webresponse.GetResponseStream();
}
- [TODO]
public Stream OpenWrite(String address)
{
! // POST ?
! throw new NotImplementedException("OpenWrite");
}
- [TODO]
public Stream OpenWrite(String address, String method)
{
! throw new NotImplementedException("OpenWrite");
}
!
! [TODO]
public byte[] UploadData(String address, byte[] data)
{
! throw new NotImplementedException("UploadData");
}
! [TODO]
public byte[] UploadData(String address, String method, byte[]
data)
{
! throw new NotImplementedException("UploadData");
}
- [TODO]
public byte[] UploadFile(String address, String fileName)
{
! throw new NotImplementedException("UploadFile");
}
- [TODO]
public byte[] UploadFile(String address, String method, String
fileName)
{
! throw new NotImplementedException("UploadFile");
}
--- 93,164 ----
public Stream OpenRead(String address)
{
! CreateWebrequest(address);
webresponse = webrequest.GetResponse();
return webresponse.GetResponseStream();
}
public Stream OpenWrite(String address)
{
! return OpenWrite(address, "POST");
}
public Stream OpenWrite(String address, String method)
{
! CreateWebrequest(address);
! webrequest.Method = method;
! return webrequest.GetRequestStream();
}
!
public byte[] UploadData(String address, byte[] data)
{
! return UploadData(address, "POST", data);
}
! /* TODO : someday I'm going to implement Chunked data sends
! this way */
public byte[] UploadData(String address, String method, byte[]
data)
{
! CreateWebrequest(address);
! webrequest.Method = method;
! webrequest.ContentLength = data.Length;
! Stream stream = webrequest.GetRequestStream();
! stream.Write(data,0,data.Length);
! webresponse = webrequest.GetResponse();
! MemoryStream memory = new MemoryStream(1024);
! WriteToStream(webresponse.GetResponseStream(),memory,
!
webresponse.ContentLength);
! byte [] retval = new byte[memory.Length];
! Array.Copy(memory.GetBuffer(), retval, retval.Length);
! memory.Close();
! return retval;
}
public byte[] UploadFile(String address, String fileName)
{
! return UploadFile(address, "POST", fileName);
}
public byte[] UploadFile(String address, String method, String
fileName)
{
! CreateWebrequest(address);
! webrequest.Method = method;
! Stream file = File.OpenRead(fileName);
! try
! {
! webrequest.ContentLength = file.Length;
! }
! catch
! {
! }
! Stream stream = webrequest.GetRequestStream();
! WriteToStream(file,stream, -1);
! webresponse = webrequest.GetResponse();
! MemoryStream memory = new MemoryStream(1024);
! WriteToStream(webresponse.GetResponseStream(),memory,
!
webresponse.ContentLength);
! byte [] retval = new byte[memory.Length];
! Array.Copy(memory.GetBuffer(), retval, retval.Length);
! memory.Close();
! return retval;
}
***************
*** 117,130 ****
}
- [TODO]
public String BaseAddress
{
get
{
! throw new
NotImplementedException("BaseAddress");
}
set
{
! throw new
NotImplementedException("BaseAddress");
}
}
--- 175,187 ----
}
public String BaseAddress
{
get
{
! return this.baseAddress;
}
set
{
! this.baseAddress=value;
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnetlib/System/Net WebClient.cs,1.1,1.2,
Gopal.V <address@hidden> <=