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