1 2010-03-19 Sebastien Pouliot <sebastien@ximian.com>
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
7 * WebClient_2_1.cs: Initialize UseDefaultCredentials to true. Set
8 the properties when creating a new WebRequest
10 2010-03-18 Sebastien Pouliot <sebastien@ximian.com>
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)
19 2010-03-16 Rolf Bjarne Kvinge <RKvinge@novell.com>
21 * WebRequest_2_1.cs: Added UseDefaultCredentials property.
23 2010-03-12 Sebastien Pouliot <sebastien@ximian.com>
25 * WebClient_2_1.cs: Directly set 'progress' delegate field
26 * WebRequest_2_1.cs: Avoid using reflection (since it was not
29 2010-03-03 Andreia Gaita <avidigal@novell.com>
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
36 2010-02-25 Rolf Bjarne Kvinge <RKvinge@novell.com>
38 * WebClient_2_1.cs: Emit DownloadProgressChanged events on the correct
41 2010-02-23 Sebastien Pouliot <sebastien@ximian.com>
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).
50 2010-02-16 Sebastien Pouliot <sebastien@ximian.com>
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
56 2010-01-29 Rolf Bjarne Kvinge <RKvinge@novell.com>
58 * WebClient_2_1.cs: Ensure the WriteStreamClosed event is emitted on
59 the correct thread (by using the stored SynchronizationContext).
61 * InternalWebRequestStreamWrapper.cs: Add a WebClientData field which
62 is passed to the WriteStreamClosedCallback.
64 2010-01-28 Rolf Bjarne Kvinge <RKvinge@novell.com>
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.
73 2010-01-25 Sebastien Pouliot <sebastien@ximian.com>
75 * UdpAnySourceMulticastClient.cs: New. Stub for SL4
76 * UdpSingleSourceMulticastClient.cs: New. Stub for SL4
78 2010-01-13 Sebastien Pouliot <sebastien@ximian.com>
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
90 2010-01-12 Sebastien Pouliot <sebastien@ximian.com>
92 * WebRequest_2_1.cs: Rework registration wrt the two, browser
93 and client, stacks offered in SL3. Only global works now.
95 2010-01-11 Sebastien Pouliot <sebastien@ximian.com>
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
110 2009-12-12 Rolf Bjarne Kvinge <RKvinge@novell.com>
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.
116 2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
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
124 2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
126 * DnsEndPoint_2_1.cs: Moved to System.dll since it's also part
129 2009-12-04 Sebastien Pouliot <sebastien@ximian.com>
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)
137 2009-09-24 Sebastien Pouliot <sebastien@ximian.com>
139 * Dns_2_1.cs: New. Smaller version of Dns.cs that offers just
140 enough for DnsEndPoint support
142 2009-09-24 Sebastien Pouliot <sebastien@ximian.com>
144 * DnsEndPoint_2_1.cs: Remove (now) unneeded method
146 2009-07-16 Sebastien Pouliot <sebastien@ximian.com>
148 * WebHeaderCollection_2_1.cs: Seal type.
150 2009-06-17 Sebastien Pouliot <sebastien@ximian.com>
152 * WebClient_2_1.cs: Fix BaseAddress and remove dual base[Address|
155 2009-06-05 Sebastien Pouliot <sebastien@ximian.com>
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.
161 2009-06-04 Sebastien Pouliot <sebastien@ximian.com>
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)
169 2009-06-01 Sebastien Pouliot <sebastien@ximian.com>
171 * HttpWebRequest_2_1.cs: Avoid possible NRE while settings a
173 * WebResponse_2_1.cs: Use StringComparer.OrdinalIgnoreCase on
174 the prefix Dictionary
176 2009-05-26 Sebastien Pouliot <sebastien@ximian.com>
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
182 2009-05-22 Sebastien Pouliot <sebastien@ximian.com>
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.
189 2009-05-14 Sebastien Pouliot <sebastien@ximian.com>
191 * DnsEndPoint_2_1.cs: Add method to return an IPEndPoint from a
192 DnsEndPoint that match the requested AddressFamily
194 2009-05-12 Sebastien Pouliot <sebastien@ximian.com>
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
201 2009-05-11 Sebastien Pouliot <sebastien@ximian.com>
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.
207 2009-05-11 Sebastien Pouliot <sebastien@ximian.com>
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.
213 2009-05-10 Sebastien Pouliot <sebastien@ximian.com>
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
219 * WebHeaderCollection_2_1.cs: Add a SetHeader method that can
220 work around the normal validations that the "this" property
223 2009-05-09 Sebastien Pouliot <sebastien@ximian.com>
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
229 2009-04-16 Sebastien Pouliot <sebastien@ximian.com>
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
239 2009-04-11 Sebastien Pouliot <sebastien@ximian.com>
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
245 2009-04-11 Sebastien Pouliot <sebastien@ximian.com>
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)
254 2009-04-09 Sebastien Pouliot <sebastien@ximian.com>
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
262 2009-03-11 Rolf Bjarne Kvinge <RKvinge@novell.com>
264 * WebClient_2_1.cs: OnOpenReadCompleted and OnDownloadStringCompleted:
265 make sure we don't pass any exceptions back to native code.
267 2009-03-04 Rolf Bjarne Kvinge <RKvinge@novell.com>
269 * WebClient_2_1.cs: Stub out missing methods.
270 * WriteStreamClosedEventArgs_2_1.cs:
271 * WriteStreamClosedEventHandler_2_1.cs: Added.
273 2009-02-05 Geoff Norton <gnorton@novell.com>
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.
278 2009-02-05 Geoff Norton <gnorton@novell.com>
280 * WebClient_2_1.cs: CancelAsync calls Thread.Interrupt so needs to be
281 SecuritySafeCritical for now.
283 2009-01-26 Rolf Bjarne Kvinge <rkvinge@novell.com>
285 * WebClient_2_1.cs: Ensure we don't let exceptions go to native code.
286 * HttpWebRequest_2_1.cs: Add AllowReadStreamBuffering.
288 2009-01-21 Geoff Norton <gnorton@novell.com>
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.
294 2009-01-21 Chris Toshok <toshok@ximian.com>
296 * WebClient_2_1.cs: add 1 method back in, CancelAsync.
298 2009-01-12 Geoff Norton <gnorton@novell.com>
300 * WebClient_2.1.cs: SL2 webclient supports BaseAddress.
302 2008-10-16 Jb Evain <jbevain@novell.com>
304 * WebHeaderCollection_2_1.cs: update to SL2 api.
306 2008-10-16 Jb Evain <jbevain@novell.com>
308 * WebResponse_2_1.cs: update API to SL2.
310 2008-08-21 Stephane Delcroix <sdelcroix@novell.com>
312 * WebClient_2_1.cs: set the address on OpenReadCompletedEventArgs
315 2008-08-21 Stephane Delcroix <sdelcroix@novell.com>
317 * WebClient_2_1.cs: enable the DownloadStringAsync code
319 2008-08-19 Geoff Norton <gnorton@novell.com>
321 * WebClient_2_1.cs: Keep a reference to the tick callback until its completed.
323 2008-08-18 Geoff Norton <gnorton@novell.com>
325 * WebRequest_2_1.cs: Set a delegate callback for BrowserHttpWebRequest
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.
331 2008-08-17 Geoff Norton <gnorton@novell.com>
333 * WebRequest_2_1.cs: We support relative URI's now.
335 2008-08-14 Geoff Norton <gnorton@novell.com>
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.
340 2008-06-18 Stephane Delcroix <sdelcroix@novell.com>
342 * WebRequest_2_1.cs: Load BrowserHttpWebRequest from the right assembly
344 2008-06-10 Stephane Delcroix <sdelcroix@novell.com>
346 * DnsEndPoint_2_1.cs: embed an IPAddress and rely on IPEndPoint
349 2008-06-04 Stephane Delcroix <sdelcroix@novell.com>
351 * DnsEndPoint_2_1.cs: new DnsEndPoint class for SL2b1
353 2008-04-13 Jb Evain <jbevain@novell.com>
355 * *_2_1.cs: move the specific 2.1 System.Net code to the