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