2003-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System / System.Net / ChangeLog
1 2003-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2
3         * WebClient.cs: implemented UploadFile. Fixed SetupRequest to set the
4         special headers *after* the others.
5
6 2003-06-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
7
8         * WebConnectionStream.cs: when the read is partially filled from the
9         initial buffer, add those bytes too. Thanks to Lluis for debugging this.
10
11 2003-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
12
13         * HttpWebRequest.cs: added ExpectContinue property.
14         * WebConnection.cs: allow 100 Continue to be delayed after waiting for
15         it.
16
17 2003-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
18
19         * HttpWebRequest.cs: don't send "Expect: 100-continue" is the server
20         is known not to respond to that.
21
22         * ServicePoint.cs: added SendContinue property.
23
24         * WebConnection.cs: only wait 2 seconds for a continue reply. If it
25         timeouts, set SendContinue to false and proceeed sending data.
26
27         * WebConnectionStream.cs: if 100-continue is not received and instead we
28         get a 417 or anything else, don't send the data.
29
30         * WebClient.cs: implemented all missing properties and methods except
31         UploadFile.
32
33 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
34
35         * FileWebRequestCreator.cs: splitted from WebRequest.
36         * HttpRequestCreator.cs: splitted fromWebRequest.
37         * WebRequest.cs: added methods that are used by the new configuration
38         handler to set prefix/type name requests creators.
39
40 2003-06-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
41
42         * AuthenticationManager.cs:
43         * Authorization.cs:
44         * BasicClient.cs: new file.
45         * ChunkStream.cs: new file.
46         * Cookie.cs:
47         * CookieContainer.cs:
48         * GlobalProxySelection.cs:
49         * HttpWebRequest.cs:
50         * HttpWebResponse.cs:
51         * IAuthenticationModule.cs:
52         * ServicePoint.cs:
53         * ServicePointManager.cs:
54         * WebAsyncResult.cs: new file.
55         * WebConnection.cs: new file.
56         * WebConnectionData.cs: new file.
57         * WebConnectionGroup.cs: new file.
58         * WebConnectionStream.cs: new file.
59         * WebException.cs:
60         * WebHeaderCollection.cs:
61         * WebProxy.cs:
62         * WebResponse.cs:
63
64         Reworked HttpWebRequest and related classes.
65
66 2003-05-30  Miguel de Icaza  <miguel@ximian.com>
67
68         * HttpWebRequest.cs (EndGetResponse): Do not throw exceptions on
69         InternalServerError (500)
70
71 2003-05-29  Miguel de Icaza  <miguel@ximian.com>
72
73         * HttpWebRequest.cs (Close): Move the code that accumulates the
74         output to Close from Flush.  Flush could have been called in the
75         middle of the processing, and would have generated invalid results
76         (which it did).
77
78 2003-05-23  Zoltan Varga  <vargaz@freemail.hu>
79
80         * Dns.cs (GetHostByAddress): Return the local host when called with
81         IF_ANY.
82
83 2003-04-29  Miguel de Icaza  <miguel@ximian.com>
84
85         * WebClient.cs (DownloadData): Close the underlyng stream.
86         (DownloadFile): Use using, so the file gets closed.
87
88 2003-04-24  Miguel de Icaza  <miguel@ximian.com>
89
90         * WebClient.cs (DownloadData): Instead of using a MemoryStream,
91         keep track of all the small chunks in an ArrayList.  The
92         MemoryStream had the property of reallocating itself, and the
93         problem was that MemoryStream.GetBuffer would return the buffer
94         (correctly), but not something of the right size.  So clients of
95         DownloadData would get the extra unused bytes as part of the
96         result.
97
98         The solution would have been to make another copy at this point,
99         instead, we only keep the small allocations around in the
100         ArrayList, and we only do one large allocation at the end.
101
102         * HttpWebResponse.cs: If there is a Content-Length header, pass
103         this information to our HttpWebResponseStream, so it knows when to
104         stop, instead of waiting for the stream to be shut down by the
105         other end.
106
107         * HttpWebRequest.cs: Only set the `delay-header-writing' mode on
108         the underlying stream if the method will do a content transfer and
109         no Content-Length was provided. If not (HEAD and GET or
110         Content-Length provided), keep going.
111         
112 2003-04-23  Miguel de Icaza  <miguel@ximian.com>
113
114         * HttpWebRequest.cs: .NET Allows the HttpWebRequest to not have
115         the ContentLength specified on the request.  If that happens, we
116         have to accumulate all the data written, and once we accumulate
117         the data, we send it off.  
118
119         Notice that the documentation in .NET is actually incorrect, they
120         state that setting ContentLength is mandatory.  It is not.
121
122 2003-04-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
123
124         * HttpWebResponse.cs: fixes bug #41180.
125
126 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
127
128         * HttpWebRequest.cs: throw an exception is the response code is >= 300.
129
130 2003-03-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
131
132         * HttpWebRequest.cs: implemented IDisposable, make the request stream
133         read only. Changed the way of disposing the socket.
134
135         * HttpWebResponse.cs: wrapped the socket in a write-only NetworkStream,
136         handle chunked transfer encoding (no more hangs), added serialization
137         stuff, call CheckDisposed at the beginning of methods/properties (not
138         in a finally clause).
139
140 2003-02-17  Nick Drochak <ndrochak@gol.com>
141
142         * WebClient.cs : Implemented Credentials property.
143
144 2003-02-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
145
146         * SocketAddress.cs: byte 1 of the data is the high byte of the family,
147         not the size.
148
149 2003-01-29  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
150
151         * WebClient.cs : hacked OpenRead, DownloadData and DownloadFile.
152
153 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
154
155         * HttpWebRequest.cs: applied patch from Tim Haynes
156         (thaynes@openlinksw.com).
157
158         Avoided double-sending of the request to the server when both
159         GetRequestStream() and GetResponse() are called.
160         System Header attributes survive the Headers attribute set.
161         Added handling of Connection: KeepAlive/Close
162
163 2002-10-03  Dick Porter  <dick@ximian.com>
164
165         * Dns.cs: Fixed GetHostName()
166
167 2002-09-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
168
169         * HttpWebRequest.cs:
170         * HttpWebResponse.cs: applied another patch from Shahms E. King
171         (shahms@shahms.com).
172
173 2002-09-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
174
175         * HttpWebRequest.cs:
176         * HttpWebResponse.cs: applied patch from Shahms E. King
177         (shahms@shahms.com).
178
179 2002-05-29  Lawrence Pit <loz@cable.a2000.nl>
180
181         * MonoHttpDate.cs: added
182         * HttpWebRequest.cs: using MonoHttpDate
183         * HttpWebResponse.cs: using MonoHttpDate
184         * DnsPermission.cs: correct XML output
185         * SocketPermission.cs: correct XML output
186
187 2002-05-21  Lawrence Pit <loz@cable.a2000.nl>
188
189         * WebClient.cs: stubbed
190         * WebProxy.cs: fixed bug; had to change internal representation
191         of bypasslist to ArrayList, different implementation of checking
192         regex's.
193
194 2002-05-20  Lawrence Pit <loz@cable.a2000.nl>
195
196         * WebProxy.cs: added, implemented
197         * ServicePoint.cs: implemented most
198         * ServicePointManager.cs: implemented
199         * HttpWebRequest.cs: started implementation
200         * HttpWebResponse.cs: improved disposable routines
201         * FileWebRequest.cs: slight improvement of Close method
202         
203 2002-05-19  Lawrence Pit <loz@cable.a2000.nl>
204
205         * FileWebRequest.cs: finished implementation of async methods.
206         * FileWebResponse.cs: improved disposable routines.
207         * IPEndPoint.cs: fixed bug #24666 in Serialize and Create methods, 
208         byte ordering of address was backwards.
209
210 2002-05-13  Lawrence Pit <loz@cable.a2000.nl>
211
212         * Dns.cs: Reimplemented (simplified and fixed) asynchronous methods by
213         relying on standard asynchronous delegate features. Added checks for
214         null strings.
215         * HttpWebResponse.cs: implemented properties
216         * FileWebResponse.cs: improved the way resources are disposed.
217         * FileWebRequest.cs: started implementation of asynchronous methods
218         * ServicePointManager.cs: implemented properties
219
220 2002-05-12  Lawrence Pit <loz@cable.a2000.nl>
221
222         * HttpWebRequest.cs: properties implemented
223         * HttpWebResponse.cs: added
224         * GlobalProxySelection.cs: implemented
225         * FileWebResponse.cs: added
226         * FileWebRequest.cs: some methods implemented
227
228 2002-05-11  Lawrence Pit <loz@cable.a2000.nl>
229
230         * WebHeaderCollection.cs: implemented
231         * WebRequest.cs: implemented
232         * FileWebRequest.cs and HttpWebRequest.cs stubs added
233
234 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
235
236         * Rewrote IPAddress.Parse method, passing all unit tests
237
238 2002-05-09  Lawrence Pit <loz@cable.a2000.nl>
239
240         * fixed bug in IPEndPoint.Equals method
241         * fixed bug in IPAddress.Parse method
242         * fixed bug in IPAddress.SwapLong method
243         * fixed several bugs in Cookie.cs
244
245 2002-05-06  Lawrence Pit <loz@cable.a2000.nl>
246
247         * WebRequest.cs: added
248         * WebResponse.cs: implemented
249         * WebException.cs: implemented
250         * WebHeaderCollection.cs: added
251         * HttpVersion.cs: implemented
252         * HttpContinueDelegate.cs: added
253         * IWebProxy.cs: added
254         * IWebRequestCreate.cs: added
255         * ICertificatePolicy.cs: added
256         * ServicePoint.cs: stubbed
257         * ServicePointManager.cs: stubbed
258         * CookieContainer.cs: added
259         * Authorization.cs: implemented
260
261 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
262
263         * CredentialCache.cs: implemented
264
265 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
266
267         * IPAddress.cs: fixed IsLoopback, address was already in host order
268
269 2002-05-05  Lawrence Pit <loz@cable.a2000.nl>
270
271         * IPv6Address.cs: added (note: not part of .net spec)
272
273 2002-05-01  Lawrence Pit <loz@cable.a2000.nl>
274
275         * DnsPermission.cs: implemented
276         * DnsPermissionAttribute.cs: implemented
277
278 2002-04-28  Lawrence Pit <loz@cable.a2000.nl>
279
280         * EndpointPermission.cs: implemented
281         * SocketPermission.cs: implemented
282         * SocketPermissionAttribute.cs: implemented
283         * ProtocolViolationException.cs: implemented
284         * Dns.c: passing w32 error code when no host found
285
286 2002-04-27  Lawrence Pit <loz@cable.a2000.nl>
287
288         * Cookie.cs: implemented
289         * CookieCollection.cs: implemented
290         * CookieException.cs: implemented
291
292 2002-04-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
293
294         * IPAddress.cs: initialize the read only fields with Parse().
295
296 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
297
298         * IPAddress.cs: little changes to behave as MS.
299
300 2002-04-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
301
302         * Dns.cs (Resolve): behave as MS. Agreed with Mads.
303
304 2002-04-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
305
306         * IPAddress.cs: the icalls for sockets are endianness-aware. So I
307         changed a few things. Also included a workaround for bug #23547.
308
309 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
310
311         * IPAddress.cs: use System.BitConverter.IsLittleEndian (suggested
312         by Paolo) instead of guessing the endianness.
313
314         * SocketAddress.cs: implemented Equals() and GetHashcode().
315         
316 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
317
318         * IPEndPoint.cs: modifications to constructors according to the
319         specifications (suggested by Lawrence Pit).
320
321 2002-04-15  Patrik Torstensson <patrik.torstensson@labs2.com>
322
323         * IPEndPoint.cs: Fixed build breaker.
324
325 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
326
327         * IPEndPoint.cs: implemented Equals() and GetHashCode(). Now 100%
328         complete.
329
330 2002-04-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
331
332         * IPAddress.cs: finished all MonoTODO's. Use network order to store 
333         the address. Check for max and min values in Address:set. IsLoopback()
334         returns now true for all 127.x.y.z. Some more checks in Parse ().
335         Some changes to behave as MS does.
336
337 2002-02-24  Duncan Mak  <duncan@ximian.com>
338
339         * ICredentialLookup.cs: Added the GetCredential method to the
340         interface. The interface is named "ICredentials", should this file
341         be renamed?     
342
343         * NetworkCredential.cs: Added to CVS. Need to investigate on how
344         GetCredential() works
345
346 2002-01-23  Dick Porter  <dick@ximian.com>
347
348         * SocketAddress.cs: Implemented.
349
350         * IPEndPoint.cs: Turned 'Address' field into a real property.
351         Implemented Create() and Serialize() methods.
352
353         * IPAddress.cs: Fixed class constructor, turned 'Address' field
354         into a real property. Removed undocumented "public
355         IPAddress(string)" constructor.
356
357         * EndPoint.cs: Implemented.  All methods return
358         NotSupportedException to enforce subclass overriding.
359
360         * Dns.cs: Replaced fixed-layout Hostent struct and cygwin
361         P/Invokes with portable internal calls.
362
363 2002-01-17  Miguel de Icaza  <miguel@ximian.com>
364
365         * Dns.cs: Updated to API changes.
366
367         * IPAddress.cs: Updated API.  Much left to implement.
368
369         * Dns.cs: Remove IPToString method
370
371 2002-01-06  Ravi Pratap  <ravi@ximian.com>
372
373         * Dns.cs, AuthenticationManager.cs, SocketAddress.cs : MonoTODO
374         attribute insertion.
375
376 2001-11-22  Nick Drochak <ndrochak@gol.com>
377
378         * IPAddress.cs: Fix constructor bug, properly name Address property,
379         and use triple-slash for comments.
380
381 2001-11-20  Miguel de Icaza  <miguel@ximian.com>
382
383         * IPAddress.cs: Updated to contain Any, Broadcast, Loopback and
384         None as suggested by Phillip.
385
386 2001-09-26  Mads Pultz <mpultz@get2net.dk>
387         * Dns.cs: Initial work on BeginGetHostByName and EndGetHostByName implemented.
388
389 2001-09-24  Mads Pultz <mpultz@get2net.dk>
390
391         * Dns.cs: Minor changes (some print statements removed)
392
393 2001-09-23  Mads Pultz <mpultz@get2net.dk>
394
395         * Dns.cs: Initial work submitted to repository.
396         * IPHostEntry.cs: Initial work submitted to repository.
397
398 2001-07-12  Sean MacIsaac  <macisaac@ximian.com>
399
400         * Authorization.cs: Fixed compiler error.
401
402         * IAuthenticationModule.cs: Changes for Beta2.
403
404         * IPAddress.cs: Internal storage changed to be uint not int.
405
406         * IPEndPoint.cs: Fixed compiler error.
407
408         * EndPoint.cs: Fixed compiler error.
409
410         * AuthenticationManager.cs: Fixed typo.