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