New tests.
[mono.git] / mcs / class / System.Net / System.Net / ChangeLog
1 2010-05-14  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * WebHeaderCollection_2_1.cs: Hide the internal Dictionary and 
4         provide methods to use it properly.
5         * HttpWebRequest_2_1.cs: Use internal Clear method
6
7 2010-04-21  Sebastien Pouliot  <sebastien@ximian.com>
8
9         * HttpWebResponse_2_1.cs: Method, StatusCode and StatusDescription
10         property getters are now virtual (instead of abstract) and throw
11         NIE in SL4 (final) API.
12         * WebRequest_2_1.cs: Added ContentLength (SL4) property to throw
13         NIE. Implement (SL4) CreateHttp methods. Rework stack registration
14         logic.
15         * WebResponse_2_1.cs: default Headers getter throws NIE
16
17 2010-04-05  Sebastien Pouliot  <sebastien@ximian.com>
18
19         * InternalWebResponseStreamWrapper.cs: Move back to 
20         System.Windows.dll
21
22 2010-03-19  Sebastien Pouliot  <sebastien@ximian.com>
23
24         * HttpWebRequest_2_1.cs: AllowWriteStreamBuffering getter/setter
25         throws NIE by default (must be overridden). Revert Accept and
26         ContentType behavior to SL2 (identical to SL4 but different from
27         SL3). 
28         * WebClient_2_1.cs: Initialize UseDefaultCredentials to true. Set
29         the properties when creating a new WebRequest
30
31 2010-03-18  Sebastien Pouliot  <sebastien@ximian.com>
32
33         * HttpWebRequest_2_1.cs: Add SL4 RC AllowWriteStreamBuffering and
34         SupportsCookieContainer properties.
35         * WebClient_2_1.cs: Add SL4 RC AllowWriteStreamBuffering and 
36         UseDefaultCredentials properties.
37         * WebHeaderCollection_2_1.cs: Authorization and Proxy-Authorization
38         are valid (i.e. usable) headers in SL4 (in both stacks)
39
40 2010-03-16  Rolf Bjarne Kvinge  <RKvinge@novell.com>
41
42         * WebRequest_2_1.cs: Added UseDefaultCredentials property.
43
44 2010-03-12  Sebastien Pouliot  <sebastien@ximian.com>
45
46         * WebClient_2_1.cs: Directly set 'progress' delegate field
47         * WebRequest_2_1.cs: Avoid using reflection (since it was not 
48         really needed anyway)
49
50 2010-03-03  Andreia Gaita  <avidigal@novell.com>
51
52         * InternalWebRequestStreamWrapper.cs: don't add a newline to the
53         request data, whatever uses the data should be the one adding
54         newlines if they need it (i.e., moon's ff bridge needs it, the
55         curl bridge doesn't)
56
57 2010-02-25  Rolf Bjarne Kvinge  <RKvinge@novell.com>
58
59         * WebClient_2_1.cs: Emit DownloadProgressChanged events on the correct
60         thread too.
61
62 2010-02-23  Sebastien Pouliot  <sebastien@ximian.com>
63
64         * HttpWebRequest_2_1.cs: Accept and ContentType properties do not
65         behave like Silverlight 2.0 (not related to browser/client stacks)
66         * WebHeaderCollection_2_1.cs: Range is now accepted in SL3 (not
67         related to browser/client stacks)
68         * WebRequest_2_1.cs: Fix registration to work on domains (new) 
69         and scheme (more correctly wrt new unit tests).
70
71 2010-02-16  Sebastien Pouliot  <sebastien@ximian.com>
72
73         * WebClient_2_1.cs: Keep a copy of 'userToken' since we need to
74         supply it when calling OnDownloadProgressChanged
75         * WebRequest_2_1.cs (SetupProgressDelegate): Simplify signature
76
77 2010-01-29  Rolf Bjarne Kvinge  <RKvinge@novell.com>
78
79         * WebClient_2_1.cs: Ensure the WriteStreamClosed event is emitted on
80         the correct thread (by using the stored SynchronizationContext).
81
82         * InternalWebRequestStreamWrapper.cs: Add a WebClientData field which
83         is passed to the WriteStreamClosedCallback.
84
85 2010-01-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
86
87         * WebClient_2_1.cs: The async events must be invoked on a threadpool
88         thread if the async method wasn't executed on the main thread, so save
89         the synchronization context when the async method is called, and post
90         the event to that synchronization context when done. This is also
91         required when the async methods are executed on the main thread, since
92         HttpWebRequest callbacks are now always executed on a threadpool thread.
93
94 2010-01-25  Sebastien Pouliot  <sebastien@ximian.com>
95
96         * UdpAnySourceMulticastClient.cs: New. Stub for SL4
97         * UdpSingleSourceMulticastClient.cs: New. Stub for SL4
98
99 2010-01-13  Sebastien Pouliot  <sebastien@ximian.com>
100
101         * HttpWebRequest_2_1.cs: Throw for CookieContainer. It is 
102         implemented only in the client http stack (and for a limited
103         time in the browser stack too ;-)
104         * InternalWebRequestStreamWrapper.cs: Keep the MemoryStream data
105         available after closing/disposing (by user) since our own code
106         will need it later (e.g. when posting like DRT287)
107         * WebHeaderCollection_2_1.cs: Provide an argument to 
108         ArgumentException. Found by Gendarme's ArgumentException
109         InstantiateArgumentExceptionCorrectlyRule
110
111 2010-01-12  Sebastien Pouliot  <sebastien@ximian.com>
112
113         * WebRequest_2_1.cs: Rework registration wrt the two, browser
114         and client, stacks offered in SL3. Only global works now.
115
116 2010-01-11  Sebastien Pouliot  <sebastien@ximian.com>
117
118         * InternalWebRequestStreamWrapper.cs: New. Moved (and adapted) 
119         from Moonlight System.Windows.Browser assembly.
120         * InternalWebResponseStreamWrapper.cs: New. Moved (and adapted) 
121         from Moonlight System.Windows.Browser assembly.
122         * WebClient_2_1.cs: Remove custom delegate declaration (Gendarme's
123         AvoidDeclaringCustomDelegatesRule). Remove locking over a variable
124         (Gendarme's ReviewLockUsedOnlyForOperationsOnVariablesRule). 
125         Avoid potential race with event handlers (Gendarme's 
126         ProtectCallsToEventDelegatesRule). Implement OnWriteStreamClosed
127         * WebRequest_2_1.cs: Signature change from delegate to 
128         Action<long,long,object>. Found using Gendarme's
129         AvoidDeclaringCustomDelegatesRule
130
131 2009-12-12  Rolf Bjarne Kvinge  <RKvinge@novell.com>
132
133         * WebClient_2_1.cs: When creating the request we need to copy over
134         any headers the user set on us. We also need to wrap
135         InvalidOperationExceptions in WebExceptions.
136
137 2009-12-04  Sebastien Pouliot  <sebastien@ximian.com> 
138
139         * HttpStatusCode_2_1.cs: Remove. SL3 provides all status code 
140         since they are used for the client stack
141         * WebClient_2_1.cs: Add Credentials property and change
142         ResponseHeaders property to public
143         * WebRequest_2_1.cs: Add Credentials property
144
145 2009-12-04  Sebastien Pouliot  <sebastien@ximian.com>
146
147         * DnsEndPoint_2_1.cs: Moved to System.dll since it's also part
148         of .net 4.0
149
150 2009-12-04  Sebastien Pouliot  <sebastien@ximian.com> 
151
152         * HttpWebRequest_2_1.cs: Add CookieCollection, need to be 
153         implemented in the client stack
154         * HttpWebResponse_2_1.cs: CookieContainer is virtual. Add FIXME
155         to move (a real) implementation into the client stack
156         * WebRequest_2_1.cs: Add Create(string) overload (SL3)
157
158 2009-09-24  Sebastien Pouliot  <sebastien@ximian.com> 
159
160         * Dns_2_1.cs: New. Smaller version of Dns.cs that offers just
161         enough for DnsEndPoint support
162
163 2009-09-24  Sebastien Pouliot  <sebastien@ximian.com>
164
165         * DnsEndPoint_2_1.cs: Remove (now) unneeded method
166
167 2009-07-16  Sebastien Pouliot  <sebastien@ximian.com>
168
169         * WebHeaderCollection_2_1.cs: Seal type.
170
171 2009-06-17  Sebastien Pouliot  <sebastien@ximian.com>
172
173         * WebClient_2_1.cs: Fix BaseAddress and remove dual base[Address|
174         String] variables.
175
176 2009-06-05  Sebastien Pouliot  <sebastien@ximian.com>
177
178         * WebClient_2_1.cs: Make sure *CompletedEventArgs gets called 
179         even in case an exception occurs before the BeginGetResponse 
180         call. Adjust API for OpenReadCompletedEventArgs.
181
182 2009-06-04  Sebastien Pouliot  <sebastien@ximian.com>
183
184         * WebClient_2_1.cs: Remove the creation of threads and use the
185         async methods provided by WebRequest (and its friends). Use an
186         internal object to lock on (not this). Remove comments from the
187         original (mono) WebClient since the code has diverged so much.
188         Fix DRT#326 (hopefully others too or at least more than it breaks)
189
190 2009-06-01  Sebastien Pouliot  <sebastien@ximian.com>
191
192         * HttpWebRequest_2_1.cs: Avoid possible NRE while settings a
193         complete collection.
194         * WebResponse_2_1.cs: Use StringComparer.OrdinalIgnoreCase on 
195         the prefix Dictionary
196
197 2009-05-26  Sebastien Pouliot  <sebastien@ximian.com>
198
199         * WebClient_2_1.cs: Add internal WebHeaderCollection. Change
200         signature for OpenPolicyReadAsync to take an addtional object
201         * WebResponse_2_1.cs: Add internal WebHeaderCollection
202
203 2009-05-22  Sebastien Pouliot  <sebastien@ximian.com>
204
205         * WebClient_2_1.cs: Add an internal OpenPolicyReadAsync. Check 
206         result in ProcessResponse and throw if not Ok (200).
207         * WebRequest_2_1.cs: Add an internal overload to BeginGetResponse
208         from where we can handle downloading the policy.
209
210 2009-05-14  Sebastien Pouliot  <sebastien@ximian.com>
211
212         * DnsEndPoint_2_1.cs: Add method to return an IPEndPoint from a
213         DnsEndPoint that match the requested AddressFamily
214
215 2009-05-12  Sebastien Pouliot  <sebastien@ximian.com>
216
217         * WebHeaderCollection_2_1.cs: Headers are case insensitive but we
218         must keep them in their original form since AllKeys property will
219         report them that way and user code (like DRT#288) can depends on
220         this behavior.
221
222 2009-05-11  Sebastien Pouliot  <sebastien@ximian.com>
223
224         * WebHeaderCollection_2_1.cs: Headers are removed only in special
225         cases and never when the "this" property is used. Call ToLower
226         in SetHeader too in order to avoid typos.
227
228 2009-05-11  Sebastien Pouliot  <sebastien@ximian.com>
229
230         * HttpWebRequest_2_1.cs: Fix Accept and ContentType properties
231         to use, with special care, the Headers property
232         * WebHeaderCollection_2_1.cs (SetHeader): Add or remove header.
233
234 2009-05-10  Sebastien Pouliot  <sebastien@ximian.com>
235
236         * HttpWebRequest_2_1.cs: Move Headers property logic here (as 
237         shown by adding more unit tests)
238         * WebClient_2_1.cs: Add comment that Headers are not validated
239         there, but later.
240         * WebHeaderCollection_2_1.cs: Add a SetHeader method that can 
241         work around the normal validations that the "this" property
242         needs to do.
243
244 2009-05-09  Sebastien Pouliot  <sebastien@ximian.com>
245
246         * WebHeaderCollection_2_1.cs: When associated with a WebRequest 
247         the header collection items needs to be validated since not all
248         headers will be valid. Part of fix for DRT#532
249
250 2009-04-16  Sebastien Pouliot  <sebastien@ximian.com> 
251
252         * HttpWebRequest_2_1.cs: Rework the throwing of NIE so gui-compare
253         does not report them (since they are the "right" behavior)
254         * WebClient_2_1.cs: Fix BaseAddress property to return the URI to 
255         the XAP file. Implement protected GetWebRequest which will make an
256         absolute URI from a relative one (using BaseAddress). That remove
257         the need of the previous hack.
258         * WebRequest_2_1.cs: Remove previous hack
259
260 2009-04-11  Sebastien Pouliot  <sebastien@ximian.com> 
261
262         * WebClient_2_1.cs: WebClient allows relative URI...
263         * WebRequest_2_1.cs: ...while WebRequest does not by default. 
264         Also uncomment a few checks for new test cases
265
266 2009-04-11  Sebastien Pouliot  <sebastien@ximian.com>
267
268         * DnsEndPoint_2_1.cs: Adjust exceptions wrt unit tests
269         * HttpWebRequest_2_1.cs: Fix Headers property wrt unit tests: 
270         * WebClient_2_1.cs: Fix some properties
271         * WebHeaderCollection_2_1.cs: Adjust exceptions wrt unit tests
272         * WebRequest_2_1.cs: Add RegisterPrefix functionality and add
273         missing checks (fix unit tests)
274
275 2009-04-09  Sebastien Pouliot  <sebastien@ximian.com>
276
277         * DnsEndPoint_2_1.cs: Fix header.
278         * HttpStatusCode_2_1.cs: New. SL2 (short) version of the enum
279         * HttpWebRequest_2_1.cs: Add missing members
280         * WebExceptionStatus_2_1.cs: New. SL2 (short) version of the enum
281         * WebHeaderCollection_2_1.cs: Implement S.C.IEnumerable
282
283 2009-03-11  Rolf Bjarne Kvinge  <RKvinge@novell.com>
284
285         * WebClient_2_1.cs: OnOpenReadCompleted and OnDownloadStringCompleted:
286         make sure we don't pass any exceptions back to native code.
287
288 2009-03-04  Rolf Bjarne Kvinge  <RKvinge@novell.com>
289
290         * WebClient_2_1.cs: Stub out missing methods.
291         * WriteStreamClosedEventArgs_2_1.cs: 
292         * WriteStreamClosedEventHandler_2_1.cs: Added.
293
294 2009-02-05  Geoff Norton  <gnorton@novell.com>
295
296         * WebClient_2_1.cs: Use g_timeout_add instead of g_idle_add here until
297         SyncContext is ready, as its less prone to starvation.
298
299 2009-02-05  Geoff Norton  <gnorton@novell.com>
300
301         * WebClient_2_1.cs: CancelAsync calls Thread.Interrupt so needs to be
302         SecuritySafeCritical for now.
303
304 2009-01-26  Rolf Bjarne Kvinge  <rkvinge@novell.com>
305
306         * WebClient_2_1.cs: Ensure we don't let exceptions go to native code.
307         * HttpWebRequest_2_1.cs: Add AllowReadStreamBuffering.
308
309 2009-01-21  Geoff Norton  <gnorton@novell.com>
310
311         * WebClient_2_1.cs: Make the ManualResetEvent local to the callback
312         because a WebClient can be reused causing a wait-handle race here
313         allowing a delegate to get collected causing a crash.
314
315 2009-01-21  Chris Toshok  <toshok@ximian.com>
316
317         * WebClient_2_1.cs: add 1 method back in, CancelAsync.
318
319 2009-01-12  Geoff Norton  <gnorton@novell.com>
320
321         * WebClient_2.1.cs: SL2 webclient supports BaseAddress.
322
323 2008-10-16  Jb Evain  <jbevain@novell.com>
324
325         * WebHeaderCollection_2_1.cs: update to SL2 api.
326
327 2008-10-16  Jb Evain  <jbevain@novell.com>
328
329         * WebResponse_2_1.cs: update API to SL2.
330
331 2008-08-21  Stephane Delcroix  <sdelcroix@novell.com>
332
333         * WebClient_2_1.cs: set the address on OpenReadCompletedEventArgs
334         ctor.
335
336 2008-08-21  Stephane Delcroix  <sdelcroix@novell.com>
337
338         * WebClient_2_1.cs: enable the DownloadStringAsync code
339
340 2008-08-19  Geoff Norton  <gnorton@novell.com>
341
342         * WebClient_2_1.cs: Keep a reference to the tick callback until its completed.
343
344 2008-08-18  Geoff Norton  <gnorton@novell.com>
345
346         * WebRequest_2_1.cs: Set a delegate callback for BrowserHttpWebRequest
347         to update progress.
348         * WebClient_2_1.cs: Refactor the OnDownloadedChanged method, as its already
349         emitting on the right thread.  Clean up the OnOpenReadCompleted method.
350         Set a delegate callback for BrowserHttpWebRequest to updated Progress.
351
352 2008-08-17  Geoff Norton  <gnorton@novell.com>
353
354         * WebRequest_2_1.cs: We support relative URI's now.
355
356 2008-08-14  Geoff Norton  <gnorton@novell.com>
357
358         * WebClient_2_1.cs: A dirty hack to emit the events on the proper thread
359         until we can figure out exactly how to leverage Dispatcher over here.
360
361 2008-06-18  Stephane Delcroix  <sdelcroix@novell.com>
362
363         * WebRequest_2_1.cs: Load BrowserHttpWebRequest from the right assembly
364
365 2008-06-10  Stephane Delcroix  <sdelcroix@novell.com>
366
367         * DnsEndPoint_2_1.cs: embed an IPAddress and rely on IPEndPoint
368         for serialization.
369
370 2008-06-04  Stephane Delcroix  <sdelcroix@novell.com>
371
372         * DnsEndPoint_2_1.cs: new DnsEndPoint class for SL2b1
373
374 2008-04-13  Jb Evain  <jbevain@novell.com>
375
376         * *_2_1.cs: move the specific 2.1 System.Net code to the
377         assembly System.Net.