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