2003-06-12 Gonzalo Paniagua Javier * HttpWebRequest.cs: use InternalClose when we are not going to send the rest of the request stream because of an error after sending the headers. * WebConnection.cs: check for completion after setting the response. Enable reading in NextRead. * WebConnectionStream.cs: re-fixed the count for partially buffered reads. If the network stream returns 0 bytes, we're done. 2003-06-11 Gonzalo Paniagua Javier * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the special headers *after* the others. 2003-06-10 Gonzalo Paniagua Javier * WebConnectionStream.cs: when the read is partially filled from the initial buffer, add those bytes too. Thanks to Lluis for debugging this. 2003-06-09 Gonzalo Paniagua Javier * HttpWebRequest.cs: added ExpectContinue property. * WebConnection.cs: allow 100 Continue to be delayed after waiting for it. 2003-06-08 Gonzalo Paniagua Javier * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server is known not to respond to that. * ServicePoint.cs: added SendContinue property. * WebConnection.cs: only wait 2 seconds for a continue reply. If it timeouts, set SendContinue to false and proceeed sending data. * WebConnectionStream.cs: if 100-continue is not received and instead we get a 417 or anything else, don't send the data. * WebClient.cs: implemented all missing properties and methods except UploadFile. 2003-06-06 Gonzalo Paniagua Javier * FileWebRequestCreator.cs: splitted from WebRequest. * HttpRequestCreator.cs: splitted fromWebRequest. * WebRequest.cs: added methods that are used by the new configuration handler to set prefix/type name requests creators. 2003-06-06 Gonzalo Paniagua Javier * AuthenticationManager.cs: * Authorization.cs: * BasicClient.cs: new file. * ChunkStream.cs: new file. * Cookie.cs: * CookieContainer.cs: * GlobalProxySelection.cs: * HttpWebRequest.cs: * HttpWebResponse.cs: * IAuthenticationModule.cs: * ServicePoint.cs: * ServicePointManager.cs: * WebAsyncResult.cs: new file. * WebConnection.cs: new file. * WebConnectionData.cs: new file. * WebConnectionGroup.cs: new file. * WebConnectionStream.cs: new file. * WebException.cs: * WebHeaderCollection.cs: * WebProxy.cs: * WebResponse.cs: Reworked HttpWebRequest and related classes. 2003-05-30 Miguel de Icaza * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on InternalServerError (500) 2003-05-29 Miguel de Icaza * HttpWebRequest.cs (Close): Move the code that accumulates the output to Close from Flush. Flush could have been called in the middle of the processing, and would have generated invalid results (which it did). 2003-05-23 Zoltan Varga * Dns.cs (GetHostByAddress): Return the local host when called with IF_ANY. 2003-04-29 Miguel de Icaza * WebClient.cs (DownloadData): Close the underlyng stream. (DownloadFile): Use using, so the file gets closed. 2003-04-24 Miguel de Icaza * WebClient.cs (DownloadData): Instead of using a MemoryStream, keep track of all the small chunks in an ArrayList. The MemoryStream had the property of reallocating itself, and the problem was that MemoryStream.GetBuffer would return the buffer (correctly), but not something of the right size. So clients of DownloadData would get the extra unused bytes as part of the result. The solution would have been to make another copy at this point, instead, we only keep the small allocations around in the ArrayList, and we only do one large allocation at the end. * HttpWebResponse.cs: If there is a Content-Length header, pass this information to our HttpWebResponseStream, so it knows when to stop, instead of waiting for the stream to be shut down by the other end. * HttpWebRequest.cs: Only set the `delay-header-writing' mode on the underlying stream if the method will do a content transfer and no Content-Length was provided. If not (HEAD and GET or Content-Length provided), keep going. 2003-04-23 Miguel de Icaza * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have the ContentLength specified on the request. If that happens, we have to accumulate all the data written, and once we accumulate the data, we send it off. Notice that the documentation in .NET is actually incorrect, they state that setting ContentLength is mandatory. It is not. 2003-04-12 Gonzalo Paniagua Javier * HttpWebResponse.cs: fixes bug #41180. 2003-03-25 Gonzalo Paniagua Javier * HttpWebRequest.cs: throw an exception is the response code is >= 300. 2003-03-07 Gonzalo Paniagua Javier * HttpWebRequest.cs: implemented IDisposable, make the request stream read only. Changed the way of disposing the socket. * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream, handle chunked transfer encoding (no more hangs), added serialization stuff, call CheckDisposed at the beginning of methods/properties (not in a finally clause). 2003-02-17 Nick Drochak * WebClient.cs : Implemented Credentials property. 2003-02-04 Gonzalo Paniagua Javier * SocketAddress.cs: byte 1 of the data is the high byte of the family, not the size. 2003-01-29 Atsushi Enomoto * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile. 2002-10-24 Gonzalo Paniagua Javier * HttpWebRequest.cs: applied patch from Tim Haynes (thaynes@openlinksw.com). Avoided double-sending of the request to the server when both GetRequestStream() and GetResponse() are called. System Header attributes survive the Headers attribute set. Added handling of Connection: KeepAlive/Close 2002-10-03 Dick Porter * Dns.cs: Fixed GetHostName() 2002-09-09 Gonzalo Paniagua Javier * HttpWebRequest.cs: * HttpWebResponse.cs: applied another patch from Shahms E. King (shahms@shahms.com). 2002-09-03 Gonzalo Paniagua Javier * HttpWebRequest.cs: * HttpWebResponse.cs: applied patch from Shahms E. King (shahms@shahms.com). 2002-05-29 Lawrence Pit * MonoHttpDate.cs: added * HttpWebRequest.cs: using MonoHttpDate * HttpWebResponse.cs: using MonoHttpDate * DnsPermission.cs: correct XML output * SocketPermission.cs: correct XML output 2002-05-21 Lawrence Pit * WebClient.cs: stubbed * WebProxy.cs: fixed bug; had to change internal representation of bypasslist to ArrayList, different implementation of checking regex's. 2002-05-20 Lawrence Pit * WebProxy.cs: added, implemented * ServicePoint.cs: implemented most * ServicePointManager.cs: implemented * HttpWebRequest.cs: started implementation * HttpWebResponse.cs: improved disposable routines * FileWebRequest.cs: slight improvement of Close method 2002-05-19 Lawrence Pit * FileWebRequest.cs: finished implementation of async methods. * FileWebResponse.cs: improved disposable routines. * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods, byte ordering of address was backwards. 2002-05-13 Lawrence Pit * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by relying on standard asynchronous delegate features. Added checks for null strings. * HttpWebResponse.cs: implemented properties * FileWebResponse.cs: improved the way resources are disposed. * FileWebRequest.cs: started implementation of asynchronous methods * ServicePointManager.cs: implemented properties 2002-05-12 Lawrence Pit * HttpWebRequest.cs: properties implemented * HttpWebResponse.cs: added * GlobalProxySelection.cs: implemented * FileWebResponse.cs: added * FileWebRequest.cs: some methods implemented 2002-05-11 Lawrence Pit * WebHeaderCollection.cs: implemented * WebRequest.cs: implemented * FileWebRequest.cs and HttpWebRequest.cs stubs added 2002-05-09 Lawrence Pit * Rewrote IPAddress.Parse method, passing all unit tests 2002-05-09 Lawrence Pit * fixed bug in IPEndPoint.Equals method * fixed bug in IPAddress.Parse method * fixed bug in IPAddress.SwapLong method * fixed several bugs in Cookie.cs 2002-05-06 Lawrence Pit * WebRequest.cs: added * WebResponse.cs: implemented * WebException.cs: implemented * WebHeaderCollection.cs: added * HttpVersion.cs: implemented * HttpContinueDelegate.cs: added * IWebProxy.cs: added * IWebRequestCreate.cs: added * ICertificatePolicy.cs: added * ServicePoint.cs: stubbed * ServicePointManager.cs: stubbed * CookieContainer.cs: added * Authorization.cs: implemented 2002-05-05 Lawrence Pit * CredentialCache.cs: implemented 2002-05-05 Lawrence Pit * IPAddress.cs: fixed IsLoopback, address was already in host order 2002-05-05 Lawrence Pit * IPv6Address.cs: added (note: not part of .net spec) 2002-05-01 Lawrence Pit * DnsPermission.cs: implemented * DnsPermissionAttribute.cs: implemented 2002-04-28 Lawrence Pit * EndpointPermission.cs: implemented * SocketPermission.cs: implemented * SocketPermissionAttribute.cs: implemented * ProtocolViolationException.cs: implemented * Dns.c: passing w32 error code when no host found 2002-04-27 Lawrence Pit * Cookie.cs: implemented * CookieCollection.cs: implemented * CookieException.cs: implemented 2002-04-24 Gonzalo Paniagua Javier * IPAddress.cs: initialize the read only fields with Parse(). 2002-04-18 Gonzalo Paniagua Javier * IPAddress.cs: little changes to behave as MS. 2002-04-18 Gonzalo Paniagua Javier * Dns.cs (Resolve): behave as MS. Agreed with Mads. 2002-04-17 Gonzalo Paniagua Javier * IPAddress.cs: the icalls for sockets are endianness-aware. So I changed a few things. Also included a workaround for bug #23547. 2002-04-15 Gonzalo Paniagua Javier * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested by Paolo) instead of guessing the endianness. * SocketAddress.cs: implemented Equals() and GetHashcode(). 2002-04-15 Gonzalo Paniagua Javier * IPEndPoint.cs: modifications to constructors according to the specifications (suggested by Lawrence Pit). 2002-04-15 Patrik Torstensson * IPEndPoint.cs: Fixed build breaker. 2002-04-15 Gonzalo Paniagua Javier * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100% complete. 2002-04-15 Gonzalo Paniagua Javier * IPAddress.cs: finished all MonoTODO's. Use network order to store the address. Check for max and min values in Address:set. IsLoopback() returns now true for all 127.x.y.z. Some more checks in Parse (). Some changes to behave as MS does. 2002-02-24 Duncan Mak * ICredentialLookup.cs: Added the GetCredential method to the interface. The interface is named "ICredentials", should this file be renamed? * NetworkCredential.cs: Added to CVS. Need to investigate on how GetCredential() works 2002-01-23 Dick Porter * SocketAddress.cs: Implemented. * IPEndPoint.cs: Turned 'Address' field into a real property. Implemented Create() and Serialize() methods. * IPAddress.cs: Fixed class constructor, turned 'Address' field into a real property. Removed undocumented "public IPAddress(string)" constructor. * EndPoint.cs: Implemented. All methods return NotSupportedException to enforce subclass overriding. * Dns.cs: Replaced fixed-layout Hostent struct and cygwin P/Invokes with portable internal calls. 2002-01-17 Miguel de Icaza * Dns.cs: Updated to API changes. * IPAddress.cs: Updated API. Much left to implement. * Dns.cs: Remove IPToString method 2002-01-06 Ravi Pratap * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO attribute insertion. 2001-11-22 Nick Drochak * IPAddress.cs: Fix constructor bug, properly name Address property, and use triple-slash for comments. 2001-11-20 Miguel de Icaza * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and None as suggested by Phillip. 2001-09-26 Mads Pultz * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented. 2001-09-24 Mads Pultz * Dns.cs: Minor changes (some print statements removed) 2001-09-23 Mads Pultz * Dns.cs: Initial work submitted to repository. * IPHostEntry.cs: Initial work submitted to repository. 2001-07-12 Sean MacIsaac * Authorization.cs: Fixed compiler error. * IAuthenticationModule.cs: Changes for Beta2. * IPAddress.cs: Internal storage changed to be uint not int. * IPEndPoint.cs: Fixed compiler error. * EndPoint.cs: Fixed compiler error. * AuthenticationManager.cs: Fixed typo.