1 2010-05-14 Sebastien Pouliot <sebastien@ximian.com>
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
7 2010-04-21 Sebastien Pouliot <sebastien@ximian.com>
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
15 * WebResponse_2_1.cs: default Headers getter throws NIE
17 2010-04-05 Sebastien Pouliot <sebastien@ximian.com>
19 * InternalWebResponseStreamWrapper.cs: Move back to
22 2010-03-19 Sebastien Pouliot <sebastien@ximian.com>
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
28 * WebClient_2_1.cs: Initialize UseDefaultCredentials to true. Set
29 the properties when creating a new WebRequest
31 2010-03-18 Sebastien Pouliot <sebastien@ximian.com>
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)
40 2010-03-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
42 * WebRequest_2_1.cs: Added UseDefaultCredentials property.
44 2010-03-12 Sebastien Pouliot <sebastien@ximian.com>
46 * WebClient_2_1.cs: Directly set 'progress' delegate field
47 * WebRequest_2_1.cs: Avoid using reflection (since it was not
50 2010-03-03 Andreia Gaita <avidigal@novell.com>
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
57 2010-02-25 Rolf Bjarne Kvinge <RKvinge@novell.com>
59 * WebClient_2_1.cs: Emit DownloadProgressChanged events on the correct
62 2010-02-23 Sebastien Pouliot <sebastien@ximian.com>
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).
71 2010-02-16 Sebastien Pouliot <sebastien@ximian.com>
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
77 2010-01-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
79 * WebClient_2_1.cs: Ensure the WriteStreamClosed event is emitted on
80 the correct thread (by using the stored SynchronizationContext).
82 * InternalWebRequestStreamWrapper.cs: Add a WebClientData field which
83 is passed to the WriteStreamClosedCallback.
85 2010-01-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
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.
94 2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
96 * UdpAnySourceMulticastClient.cs: New. Stub for SL4
97 * UdpSingleSourceMulticastClient.cs: New. Stub for SL4
99 2010-01-13 Sebastien Pouliot <sebastien@ximian.com>
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
111 2010-01-12 Sebastien Pouliot <sebastien@ximian.com>
113 * WebRequest_2_1.cs: Rework registration wrt the two, browser
114 and client, stacks offered in SL3. Only global works now.
116 2010-01-11 Sebastien Pouliot <sebastien@ximian.com>
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
131 2009-12-12 Rolf Bjarne Kvinge <RKvinge@novell.com>
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.
137 2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
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
145 2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
147 * DnsEndPoint_2_1.cs: Moved to System.dll since it's also part
150 2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
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)
158 2009-09-24 Sebastien Pouliot <sebastien@ximian.com>
160 * Dns_2_1.cs: New. Smaller version of Dns.cs that offers just
161 enough for DnsEndPoint support
163 2009-09-24 Sebastien Pouliot <sebastien@ximian.com>
165 * DnsEndPoint_2_1.cs: Remove (now) unneeded method
167 2009-07-16 Sebastien Pouliot <sebastien@ximian.com>
169 * WebHeaderCollection_2_1.cs: Seal type.
171 2009-06-17 Sebastien Pouliot <sebastien@ximian.com>
173 * WebClient_2_1.cs: Fix BaseAddress and remove dual base[Address|
176 2009-06-05 Sebastien Pouliot <sebastien@ximian.com>
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.
182 2009-06-04 Sebastien Pouliot <sebastien@ximian.com>
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)
190 2009-06-01 Sebastien Pouliot <sebastien@ximian.com>
192 * HttpWebRequest_2_1.cs: Avoid possible NRE while settings a
194 * WebResponse_2_1.cs: Use StringComparer.OrdinalIgnoreCase on
195 the prefix Dictionary
197 2009-05-26 Sebastien Pouliot <sebastien@ximian.com>
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
203 2009-05-22 Sebastien Pouliot <sebastien@ximian.com>
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.
210 2009-05-14 Sebastien Pouliot <sebastien@ximian.com>
212 * DnsEndPoint_2_1.cs: Add method to return an IPEndPoint from a
213 DnsEndPoint that match the requested AddressFamily
215 2009-05-12 Sebastien Pouliot <sebastien@ximian.com>
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
222 2009-05-11 Sebastien Pouliot <sebastien@ximian.com>
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.
228 2009-05-11 Sebastien Pouliot <sebastien@ximian.com>
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.
234 2009-05-10 Sebastien Pouliot <sebastien@ximian.com>
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
240 * WebHeaderCollection_2_1.cs: Add a SetHeader method that can
241 work around the normal validations that the "this" property
244 2009-05-09 Sebastien Pouliot <sebastien@ximian.com>
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
250 2009-04-16 Sebastien Pouliot <sebastien@ximian.com>
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
260 2009-04-11 Sebastien Pouliot <sebastien@ximian.com>
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
266 2009-04-11 Sebastien Pouliot <sebastien@ximian.com>
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)
275 2009-04-09 Sebastien Pouliot <sebastien@ximian.com>
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
283 2009-03-11 Rolf Bjarne Kvinge <RKvinge@novell.com>
285 * WebClient_2_1.cs: OnOpenReadCompleted and OnDownloadStringCompleted:
286 make sure we don't pass any exceptions back to native code.
288 2009-03-04 Rolf Bjarne Kvinge <RKvinge@novell.com>
290 * WebClient_2_1.cs: Stub out missing methods.
291 * WriteStreamClosedEventArgs_2_1.cs:
292 * WriteStreamClosedEventHandler_2_1.cs: Added.
294 2009-02-05 Geoff Norton <gnorton@novell.com>
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.
299 2009-02-05 Geoff Norton <gnorton@novell.com>
301 * WebClient_2_1.cs: CancelAsync calls Thread.Interrupt so needs to be
302 SecuritySafeCritical for now.
304 2009-01-26 Rolf Bjarne Kvinge <rkvinge@novell.com>
306 * WebClient_2_1.cs: Ensure we don't let exceptions go to native code.
307 * HttpWebRequest_2_1.cs: Add AllowReadStreamBuffering.
309 2009-01-21 Geoff Norton <gnorton@novell.com>
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.
315 2009-01-21 Chris Toshok <toshok@ximian.com>
317 * WebClient_2_1.cs: add 1 method back in, CancelAsync.
319 2009-01-12 Geoff Norton <gnorton@novell.com>
321 * WebClient_2.1.cs: SL2 webclient supports BaseAddress.
323 2008-10-16 Jb Evain <jbevain@novell.com>
325 * WebHeaderCollection_2_1.cs: update to SL2 api.
327 2008-10-16 Jb Evain <jbevain@novell.com>
329 * WebResponse_2_1.cs: update API to SL2.
331 2008-08-21 Stephane Delcroix <sdelcroix@novell.com>
333 * WebClient_2_1.cs: set the address on OpenReadCompletedEventArgs
336 2008-08-21 Stephane Delcroix <sdelcroix@novell.com>
338 * WebClient_2_1.cs: enable the DownloadStringAsync code
340 2008-08-19 Geoff Norton <gnorton@novell.com>
342 * WebClient_2_1.cs: Keep a reference to the tick callback until its completed.
344 2008-08-18 Geoff Norton <gnorton@novell.com>
346 * WebRequest_2_1.cs: Set a delegate callback for BrowserHttpWebRequest
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.
352 2008-08-17 Geoff Norton <gnorton@novell.com>
354 * WebRequest_2_1.cs: We support relative URI's now.
356 2008-08-14 Geoff Norton <gnorton@novell.com>
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.
361 2008-06-18 Stephane Delcroix <sdelcroix@novell.com>
363 * WebRequest_2_1.cs: Load BrowserHttpWebRequest from the right assembly
365 2008-06-10 Stephane Delcroix <sdelcroix@novell.com>
367 * DnsEndPoint_2_1.cs: embed an IPAddress and rely on IPEndPoint
370 2008-06-04 Stephane Delcroix <sdelcroix@novell.com>
372 * DnsEndPoint_2_1.cs: new DnsEndPoint class for SL2b1
374 2008-04-13 Jb Evain <jbevain@novell.com>
376 * *_2_1.cs: move the specific 2.1 System.Net code to the