* HttpWorkerRequest.cs: Removed TODO for 2.0 APIs and return the default values for...
[mono.git] / mcs / class / System.Web / System.Web / ChangeLog
1 2005-09-14  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * HttpWorkerRequest.cs: Removed TODO for 2.0 APIs and return the 
4         default values for them.
5
6 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
7
8         * HttpApplication.cs: : Added LinkDemand and InheritanceDemand (class)
9         for Minimal. Changed AssemblyLocation to a property (so it doesn't 
10         require special permission, PathDiscovery) to create an instance. 
11         Protected Modules property with a Demand for High level. Added some 
12         missing HttpException for null context.
13         * HttpServerUtility.cs: Added LinkDemand for Minimal. Added demands 
14         for UnmanagedCode on all CreateObject* methods. Added demand for 
15         Medium level on MachineName and ScriptTimeout properties. Added new
16         overloaded Transfer method (2.0) to test CAS on it.
17         * HttpUtility.cs: Added LinkDemand for Minimal. Added [Obsolete] to 
18         ctor (2.0). Changed some return values when 'count' is 0. Added 
19         ParseQueryString (overload) methods for 2.0 (to enabled CAS testing on
20         them).
21         * HttpWorkerRequest.cs: Added LinkDemand and InheritanceDemand (class)
22         for Minimal. Added RequestTraceIdentifier and RootWebConfigPath (2.0) 
23         properties, GetPreloadedEntityBody, GetPreloadedEntityBodyLength, 
24         GetTotalEntityBodyLength and ReadEntityBody (2.0) methods to test CAS 
25         on them. Fixed SendResponseFromMemory to ignore IntPtr.Zero (used in 
26         tests without failures).
27         * ServerVariablesCollection.cs: Fixed loadServerVariablesCollection 
28         when HttpWorkerRequest is null.
29         * TraceContext.cs: Added LinkDemand for Minimal. Fixed default Mode 
30         (SortByTime). Added new (2.0) TraceFinished event to test CAS on it.
31
32 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com> 
33  
34         * HttpBrowserCapabilities.cs: Added LinkDemand and InheritanceDemand 
35         (class) for Minimal. Note that current MCS has problem compiling 
36         security attributes on partial class (bug #75969).
37         * HttpCachePolicy.cs: Added LinkDemand for Minimal. Added 2.0 methods
38         (stub) to enable CAS tests on them.
39         * HttpCacheVaryByHeaders.cs: Added LinkDemand for Minimal.
40         * HttpCacheVaryByParams.cs: Added LinkDemand for Minimal.
41         * HttpClientCertificate.cs: Added LinkDemand and InheritanceDemand 
42         (class) for Minimal.
43         * HttpCookie.cs: Added LinkDemand for Minimal.
44         * HttpCookieCollection.cs: Added LinkDemand for Minimal.
45         * HttpFileCollection.cs: Added LinkDemand for Minimal.
46         * HttpModuleCollection.cs: Added LinkDemand for Minimal.
47         * HttpPostedFile.cs: Added LinkDemand for Minimal.
48         * HttpRequestPriority.cs: Fix enum values.
49         * HttpWriter.cs: Added LinkDemand for Minimal.
50
51 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
52
53         * ProcessInfo.cs: Added LinkDemand and InheritanceDemand (class) for
54         Minimal.
55         * ProcessModelInfo.cs: Added LinkDemand and InheritanceDemand (class)
56         for Minimal. Methods GetCurrentProcessInfo and GetHistory are also
57         protected by Demand for High level.
58
59 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com> 
60  
61         * HttpCompileException.cs: Added new public ctors and [Serializable]
62         to 2.0. Added new Message property and GetObjectData (protected by a
63         demand for SerializationFormatter) for 2.0. Fixed line-ending.
64         * HttpException.cs: Added LinkDemand and InheritanceDemand (class) for
65         Minimal. Renamed parameters to match documentation.
66         * HttpParseException.cs: Added LinkDemand (class) for Minimal. Added
67         demand for SerializationFormatter on GetObjectData method. Fixed 
68         line-ending.
69         * HttpRequestValidationException.cs: Added new public ctors and 
70         [Serializable] to 2.0. Added LinkDemand for Minimal.
71         * HttpUnhandledException.cs: Added new public ctors and [Serializable]
72         to 2.0. Removed unused internal ctor. Added LinkDemand for Minimal.
73         Fixed line-ending.
74
75 2005-09-13  Sebastien Pouliot  <sebastien@ximian.com>
76
77         * HttpResponseSubstitutionCallback.cs: New. 2.0 delegate.
78         * TraceContextEventArgs.cs: New. 2.0 class.
79         * TraceContextEventHandler.cs: New. 2.0 delegate.
80
81 2005-09-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
82
83         * HttpRequest.cs: use GetServerName instead of GetLocalAddress when
84         building the Url.
85
86 2005-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
87
88         * HttpRequest.cs: fix the indexer.
89
90 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
91
92         * HttpPostedFile.cs: fixes in Seek and Position.
93
94 2005-09-08  Sebastien Pouliot  <sebastien@ximian.com>
95
96         * HttpRequest.cs: Make sure the MemoryStream created have their 
97         contents marked as public - or else you can't call GetBuffer on them!
98
99 2005-09-08  Miguel de Icaza  <miguel@novell.com>
100
101         * HttpRequest.cs: Patch from Juraj Skripsky <js@hotfeet.ch> that
102         fixes UrlReferrer. 
103
104 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
105
106         * HttpPostedFile.cs: Make this class actually work. Every time we read,
107         we have to position the underlying stream.
108
109 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
110
111         * HttpRequest.cs: reading multipart/form-data works again.
112
113 2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
114         * HttpRequest.cs: Under TARGET_JVM the input stream must allow GetBuffer.
115
116 2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
117         * HttpApplicationFactory.cs: TARGET_J2EE/JVM fix.
118
119 2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
120
121         * HttpRequest.cs: correctly detect multipart/form-data.
122
123 2005-09-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
124
125         * HttpApplicationFactory.cs: recycle after invoking session_end.
126
127 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
128
129         * HttpRuntime.cs: remove Console.
130
131         * HttpApplicationFactory.cs: don't hook Session_End, but keep
132         the MethodInfo around for later invocation if needed. Don't call
133         GetMethods() for every HttpApplication (or derived class) instances.
134         Added a method, used by SessionStateModule, that will create use an
135         application without context to invoke Session_End. Keep a pool of
136         applications that are meant to be used by this method only.
137
138         * HttpApplication.cs: add a SetSession method and do not
139         attach all the events if the application is for Session_End only.
140
141 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
142
143         * HttpRuntime.cs: actually unload the domain when requested. Reformatted
144         FinishUnavailable() and removed the 'Location' header form the error.
145
146         * HttpApplicationFactory.cs: set up the watcher for the bin directory.
147         This also prevents a nullref when global.asax is changed.
148
149 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
150
151         * HttpApplication.cs: fixed bug introduced when moving GetHandler call
152         around. Now we get error pages again.
153
154 2005-09-06  Miguel de Icaza  <miguel@novell.com>
155
156         * HttpApplication.cs: Catch EndRequest errors as well.
157
158 2005-09-05  Miguel de Icaza  <miguel@novell.com>
159
160         * HttpApplication.cs: Invoke EndRequest handler before OutputPage
161         as FormsAuthentication will issue a Redirect from the EndRequest 
162         handler. 
163
164 2005-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
165
166         * HttpApplication.cs: when writing an error message, catch the possible
167         write error.
168
169 2005-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
170
171         * HttpResponseStream.cs: prevent invalid cast exception if the first
172         thing written is a file.
173
174 2005-09-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
175
176         * HttpApplication.cs: fix invalid cast exception (bug #75926).
177
178 2005-09-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
179
180         * HttpApplicationFactory.cs: only trigger the Application_Start event
181         once. It was being invoked more than once when several clients were
182         hitting the server at the same time on startup.
183
184 2005-09-01 Eyal Alaluf <eyala@mainsoft.com>
185
186         * HttpContext.cs HttpResponse.cs HttpWorkerRequest.cs HttpRuntime.cs
187           HttpApplicationFactory.cs HttpApplication.cs: TARGET_J2EE/JVM fixes.
188           Mostly workaround limited AppModel in TARGET_J2EE.
189
190 2005-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
191
192         * HttpResponse.cs: if the request method is HEAD, that's equivalent to
193         SuppressContent. Added an internal TransmitFile that allows setting the
194         final_flush flag.
195         * StaticFileHandler.cs: use the new internal TransmitFile and remove
196         generation of Content-Length header, as now it's computed correctly.
197         * HttpApplication.cs: remove debugging stuff.
198         * HttpResponseStream.cs: suppress_content is checked in HttpResponse.
199
200 2005-08-31  Miguel de Icaza  <miguel@novell.com>
201
202         Removed debugging info.
203         
204         * HttpApplication.cs: Add support for async handlers. 
205
206         Add extra 2.x methods. 
207
208 2005-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
209
210         * BrowserCapabilities.cs: removed extra 'using'.
211
212         * HttpApplication.cs: use just the 'modcoll' to hold the collection of
213         modules instead of having a separate 'modules' one.
214
215 2005-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
216
217         * HttpApplication.cs: clone the module collection so that
218         it's not shared between HttpApplications. Call GetHandler() in the
219         right place.
220
221 2005-08-30  Miguel de Icaza  <miguel@novell.com>
222
223         * HttpApplication.cs: Add the new 2.x method overloads that take a
224         data object.
225
226         (RunHooks): Pass the extra data instead of null.
227
228         * HttpCookie.cs (HttpOnly): Add 2.x cookie header.
229
230         * BrowserCapabilities.cs: Move the core of the capabilities into a
231         separate file.  Use partial classes to choose what version to
232         compile against.
233
234         * HttpBrowserCapabilities.cs: Update to move the code elsewhere.
235
236 2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
237
238         * HttpResponseStream.cs: Fix a bug introduced by last fix (thanks to
239         Ben)
240
241 2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
242
243         * HttpResponseStream.cs: Compilation fixes for TARGET_JVM. TARGET_JVM
244         does not support unsafe code. I localized all unsafe code within Chunk
245         & Block and created a managed version of Chunk.
246
247 2005-08-30 Eyal Alaluf <eyala@mainsoft.com>
248         * HttpApplicationFactory.cs: Compilation fixes for TARGET_J2EE. Under
249         TARGET_J2EE static fields are shared by all app domains. We handle
250         this difference by explicitly getting/setting values from the app
251         domain.  Since HttpApplicationFactory has many static fields, I
252         refactored it to have one static instance and moved the static fields
253         into instance fields.
254
255 2005-08-29 Eyal Alaluf <eyala@mainsoft.com>
256
257         * HttpRequest.cs: Disable use of IntPtrStream for TARGET_JVM
258
259 2005-08-29 Eyal Alaluf <eyala@mainsoft.com>
260
261         * HttpContext.cs: Compilation fixes for TARGET_J2EE/JVM
262
263 2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
264
265         * HttpResponse.cs: don't duplicate the 'charset=' and don't send a
266         charset for unknown MIME types.
267         * StaticFileHandler.cs: set the Content-Length header here.
268         * HttpRequest.cs: prevent nullrefs when we have no 'charset='.
269
270 2005-08-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
271
272         * StaticFileHandler.cs: use TransmitFile instead of WriteFile. This way
273         xsp will use sendfile().
274
275 2005-08-28  Chris Toshok  <toshok@ximian.com>
276
277         * SiteMapNode.cs: fix IHierarchyData.GetParent.
278
279 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
280
281         * HttpRequest.cs:
282         * IntPtrStream.cs: now we only have a read-only MemoryStream or an
283         IntPtrStream. The copy is moved into HttpRequest.
284
285 2005-08-26  Sebastien Pouliot  <sebastien@ximian.com>
286
287         * WebCategoryAttribute.cs: New. Required internal attribute.
288         * WebSysDescriptionAttribute.cs: New. Required internal attribute.
289
290 2005-08-26  Jackson Harper  <jackson@ximian.com>
291
292         * HttpResponseStream.cs: Use GetBuffer so the memory isn't
293         duplicated.
294
295 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
296
297         * HttpApplication.cs: GetHandler might return null when, for example,
298         a web service fails, but that does not mean that returning a null
299         handler should throw another exception, as the web service code
300         serialized the error as a faultString. So if the handler is null, just
301         don't call ProcessRequest and keep going.
302
303 2005-08-26  Jackson Harper  <jackson@ximian.com>
304
305         * HttpResponse.cs: Send the cached headers if this is a cached
306         response. Save the headers, date header, and page data. Fix a typo.
307         * HttpResponseStream.cs: Add new accesor to get a byte [] of the
308         page data.
309
310 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
311
312         * HttpWorkerRequest.cs: SetEndOfSendNotification is a noop. No matter
313         what callback you use that never gets called. In XSP I actually
314         implement something for this method.
315         * HttpServerUtility.cs: unused variable.
316
317 2005-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
318
319         * HttpInputStream.cs: new ctor that takes a byte [].
320         * IntPtrStream.cs: make it work on a byte [] too.
321
322         * HttpRequest.cs:
323         (ContentLength): return 0 for negative numbers or error parsing, but
324         keep content_length negative in those cases.
325         (MakeInputStream): when there's no content-length (or it's negative),
326         we still read the request into a MemoryStream. Use
327         IsEntireEntityIsPreloaded() as a fast path.
328
329 2005-08-25  Sebastien Pouliot  <sebastien@ximian.com>
330
331         * HttpClientCertificate.cs: On 1.x the .ctor throws a 
332         ArgumentNullException (but 2.0 throws a NRE).
333
334 2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
335
336         * HttpRequest.cs: HttpMethod deserves its own field. Fix IsLocal.
337
338 2005-08-25  Chris Toshok  <toshok@ximian.com>
339
340         * HttpApplication.cs (IsReusable): return true.
341         (InitOnce): remove the initialization of handler_factory from
342         here.
343         (GetHandler) and move it here, so we make sure to load handlers
344         from all needed web.config files.
345
346 2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
347
348         * HttpServerUtility.cs: use GetHandler().
349         * HttpApplication.cs: remove obsolete method. Now Transfe/Execute work.
350
351 2005-08-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
352
353         * HttpApplication.cs: no need for the local var. here.
354
355 2005-08-25  Chris Toshok  <toshok@ximian.com>
356
357         * HttpApplication.cs (InitOnce): move the initialization of
358         modules above the call to HttpApplicationFactory.AttachEvents,
359         since that method accesses HttpApplication.Modules.  Fixes
360         nGallery.
361         (IsReusable): mark TODO.
362
363 2005-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
364
365         * HttpResponseHeader.cs: removed obsolete class.
366         * HttpResponse.cs: no more 'obsolete' warnings.
367
368 2005-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
369
370         * HttpRuntime.cs: implemeted some missing properties.
371
372 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
373
374         * HttpResponse.cs: implemented RemoveOutputCacheItem().
375
376 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
377
378         * HttpApplication.cs: implemented GetVaryByCustomString().
379
380 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
381
382         * HttpRequest.cs: implemented SetHeader (allows adding a header
383         circumventing the read-only protection of the collection) and SetForm,
384         which just assigns a value of the 'form' collection.
385         * HttpServerUtility.cs: NameValueCollection -> WebROCollection.
386
387 2005-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
388
389         * HttpContext.cs:
390         * HttpRequest.cs: implemented RewritePath and supporting methods.
391
392 2005-08-22  Sebastien Pouliot  <sebastien@ximian.com>
393
394         * HttpRequest.cs: Avoid NRE if work_request if null in the ctor.
395         * HttpResponse.cs: Avoid NRE if work_request if null in the ctor.
396
397 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
398
399         * HttpApplication.cs: if there's any exception thrown when getting the
400         handler, don't add an extra error to the context, as we already have
401         one.
402
403 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
404
405         * HttpWriter.cs:
406         * HttpResponse.cs:
407         * HttpWorkerRequest.cs:
408         * HttpApplication.cs: added mising attributes and enabled methods
409         present in 1.1 SP1.
410
411 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
412
413         * WebROCollection.cs: a collection that allows setting IsReadOnly.
414         * HttpRequest.cs: implemented MapImageCoordinates(). Use WebROCollection
415         instead of a NameValueCollection in Form, Headers, Params, QueryString.
416
417 2005-08-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
418
419         * HttpInputStream.cs: new copy ctor.
420         * IntPtrStream.cs: getters for base_address and size.
421         * HttpRequest.cs: implemented SaveAs(). Use a wrapper on top of
422         InputStream so that reading POST form or files does not modify the state
423         if InputStream. Don't use uri_builder.Query in QueryStringRaw, as it
424         returns the '?'.
425
426 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
427
428         * HttpRequest.cs: implemented UserLanguages and reuse code from
429         AcceptTypes.
430
431 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
432
433         * HttpRequest.cs: implemented AcceptTypes.
434
435 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
436
437         * HttpRequest.cs: implemented this[] in terms of Params. Don't add the
438         header collection in Params.
439
440 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
441
442         * HttpRequest.cs: fix Files property.
443         * HttpApplication.cs: invoke the default authentication event after all 
444         the other auth. modules.
445
446 2005-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
447
448         * ServerVariablesCollection.cs: mark the collection as read-only except
449         when we fill it. Add the HTTP_blah key/value pairs too.
450
451 2005-08-18  Chris Toshok  <toshok@ximian.com>
452
453         * HttpRequest.cs (get_Params): implement.
454
455 2005-08-17  Chris Toshok  <toshok@ximian.com>
456
457         * HttpResponse.cs: HttpResponse's Cookie's collection acts
458         differently than HttpRequests in that it never returns null from
459         the "this [string]" accessor.
460
461 2005-08-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
462
463         * HttpRequest.cs: check length 0 case when reading a POST.
464
465 2005-08-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
466
467         * HttpContext.cs: added security attributes for User and
468         SkipAuthorization properties.
469         * HttpApplicationFactory.cs: AttachEvents is now called form the
470         application .ctor. Recycle instead of dispose.
471         * HttpApplication.cs: attach events to the newly created application.
472
473 2005-08-15  Jackson Harper  <jackson@ximian.com>
474
475         * ApplicationShutdownReason.cs: make build
476
477 2005-08-15  Miguel de Icaza  <miguel@novell.com>
478
479         * HttpApplication.cs: Update comments
480
481         * HttpPostedFile.cs: Use a substream to read from the uploaded
482         multiparts. 
483
484         * HttpRequest.cs: use new code to read the uploaded files.
485
486 2005-08-12  Miguel de Icaza  <miguel@novell.com>
487
488         2.x API fixage and small additions:
489         
490         * HttpResponse.cs: Make constructor internal.
491
492         * HttpRequest.cs (IsLocal): Expose if NET_2.x
493
494         * HttpContext.cs: Remove internal routine.
495
496         * HttpApplication.cs: Add 2.x events. 
497
498         * HttpRequest.cs: Another iFolder issue: I was not setting up the
499         uri_builder here.
500
501         Fixes to get iFolder to work:
502         
503         * HttpApplicationFactory.cs: Set the context when we are initting
504         the application.
505
506         * HttpApplication.cs (SetContext): helper routine. 
507
508         * HttpResponse.cs: Implement the various cache operations:n
509         Expires, ExpiresAbsolute, CacheControl.
510
511         Actually produce the Cache-Control header, the "Cache" property
512         takes precedence over the compatibility settings (Expires,
513         ExpiresAbsolutely and CacheControl). 
514
515         * HttpCachePolicy.cs: Fix style.
516
517         Fix the generation of the headers, use lower-case values, do not
518         add the max-value if the value is zero.  
519
520         Allow for all possible values in SetCacheability. 
521
522         * HttpRuntime.cs (ClrInstallDirectory): Implement.
523
524         * HttpResponseStream.cs: Remove debugging stuff. 
525
526 2005-08-11  Miguel de Icaza  <miguel@novell.com>
527
528         Big chunked handling rewrite, and integration of Ben's unmanaged
529         output stream.
530
531         * HttpWriter.cs: Delegate chunked encoding writing to the
532         HttpResponse. 
533
534         * HttpResponse.cs: Rework the chunked encoding system, centralize
535         it all. 
536
537         * HttpResponseStream.cs: Deploy Ben's bucket-base unmanaged
538         buffers code. 
539
540         Changed the way that we handle chunked encoding, centralize it
541         all;  
542
543         Remove a lot of manual handling of buffering turned off, and
544         instead delegate it all to Flush, fixes several issues with the
545         new framework.
546
547         * HttpWorkerRequest.cs (SendResponseFromMemory (IntPtr, int)):
548         Provide a default implementation since currently XSP does not have
549         this method implemented. 
550
551 2005-08-11  Sebastien Pouliot  <sebastien@ximian.com> 
552  
553         * HttpClientCertificate.cs: Culture insensitive int parsing. Fixed
554         NET_2_0 build.
555
556 2005-08-10  Miguel de Icaza  <miguel@novell.com>
557
558         * ServerVariablesCollection.cs: For Ben.  Implement the header
559         fetching here, do not implement it in HttpRequest.cs.
560
561 2005-08-10  Sebastien Pouliot  <sebastien@ximian.com> 
562  
563         * HttpClientCertificate.cs: Changed IsPresent logic so that new unit
564         tests will work as expected.
565
566 2005-08-10  Sebastien Pouliot  <sebastien@ximian.com>
567
568         * HttpClientCertificate.cs: Implemented, except for validation. Note 
569         that the HttpWorkerRequest derived classes must be updated to supply 
570         the required informations.
571         * HttpRequest.cs: Create an HttpClientCertificate on first call to
572         ClientCertificate.
573
574 2005-08-09  Miguel de Icaza  <miguel@novell.com>
575
576         * HttpRuntime.cs (AspInstallDirectory): Implement.
577
578 2005-08-09  Sebastien Pouliot  <sebastien@ximian.com>
579
580         * HttpClientCertificate.cs: New. Stub. It won't be fun to test.
581
582 2005-08-04  Ben Maurer  <bmaurer@ximian.com>
583
584         * HttpContext.cs: Kill a NIE.
585
586 2005-08-04  Miguel de Icaza  <miguel@novell.com>
587
588         * HttpApplicationFactory.cs: Change "Start" event like the "End"
589         event, and only do this once, when we init the type.
590
591         Fire the "Application_Start" event after we create the type.
592
593 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
594
595         * HttpApplication.cs: catch a ThreadAbort (coming from Response.End)
596         here too.
597
598 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
599
600         * HttpResponse.cs: setting the Status property resets the
601         StatusDescription (see the tests) and the default value for the
602         description is the one provided by GetStatusDescription() in
603         HttpWorkerRequest.
604
605 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
606
607         * HttpRequest.cs: s/boundry/boundary/ and fix typo in array creation.
608
609 2005-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
610
611         * HttpApplication.cs: add call to EndOfRequest when everything is said
612         and done.
613
614 2005-08-02  Miguel de Icaza  <miguel@novell.com>
615
616         * HttpResponse.cs: Stub for TransmitFile.
617
618         * HttpRequest.cs (IsAuthenticated): Implement.
619
620 2005-08-01  Miguel de Icaza  <miguel@novell.com>
621
622         * HttpRequest.cs: Cope with implementations of HttpWorkerRequest
623         (unpatched xsp) that do not send back the PreloadedEntityBody. 
624
625         * HttpApplication.cs: keep track of the factory. 
626         (Dispose): Only dispose once, clean up other variables, release
627         the ManualResetEvent.
628         Release the handler to the factory.
629
630         * HttpApplicationFactory.cs: Implement a stack to reuse the
631         applications. 
632
633         * HttpRequest.cs: On uploads, if the ContentLenght is zero, throw
634         a 411.
635
636         * HttpRuntime.cs: Recycle the application after using it.
637
638         * HttpPostedFile.cs: Implement SaveAs.
639
640         * HttpContext.cs: Return the "Server" property.
641
642 2005-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
643
644         * HttpServerUtility.cs: implemented missing bits.
645
646 2005-08-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
647
648         * HttpRequest.cs: query string was getting a '?' as the start of the
649         first variable name. This makes the asmx help page work again.
650
651 2005-08-01  Miguel de Icaza  <miguel@novell.com>
652
653         * HttpRequest.cs (Cookies, Forms): Add validation.
654         (Forms): Add application/x-www-form-urlencoded parsing and
655         multipart/form-data parsing.
656         
657         (HttpMultiPart): Implement new class to load multi-part data from
658         a stream since there is no longer a byte [] that holds the data
659         (currently we have an unmanaged IntPtr buffer wrapped as a
660         stream).  Also the 2.x framework will add support for large
661         uploads which are sent directly to disk, which will require the
662         FileStream interface. 
663         
664         (Path, PathInfo): Fill a couple more methods to avoid crashes.
665
666         * HttpContext.cs: Fill another one to get web services summary
667         page painting.  The page does not work though.
668         
669         * HttpApplication.cs: Rework the pipeline to not depend on
670         `finally', as `finally' would not be invoked if we choose not to
671         call the pipeline again (which happens if the `stop' variable is
672         set). 
673
674         Instead force the pipeline to go to the shutdown, and yield from
675         there after all the release-state callbacks have been invoked. 
676
677 2005-07-31  Miguel de Icaza  <miguel@novell.com>
678
679         * HttpApplication.cs: Remove debugging messages since the compiler
680         bug has been fixed.
681
682         You must use at least mcs from revision 47879 for the application
683         pipeline to work. 
684
685 2005-07-30  Miguel de Icaza  <miguel@novell.com>
686
687         * HttpContext.cs: Error handling methods.
688
689         * HttpResponse.cs: Trigger the last event.
690
691         * HttpRuntime.cs: Add queueing of the next request. 
692
693         * HttpApplication.cs: Deploy the new yield-based application
694         pipeline, add error handling to the pipeline.
695         
696         * HttpApplication.cs (AsyncRequestState): Just use the done event
697         from the parent.
698
699 2005-07-29  Miguel de Icaza  <miguel@novell.com>
700
701         * HttpResponseStream.cs, HttpRequest.cs: Fix bugs found by nunit.
702
703         * HttpApplication.cs: Fix a race condition. 
704
705         * HttpResponseStream.cs: Fix bug, send the size of the buffer that
706         we have so far instead of the internal size of the buffer.   This
707         will need work later to ensure we enforce the Content-Length
708         maximum output size if set.
709
710         * ServerVariablesCollection.cs: This class now inherits from
711         NameValueCollection, we should probably review what the middle
712         class did, there are no dependencies on it.
713
714         I need to write tests to investigate if something is missing or
715         has changed in this implementation. 
716
717 2005-07-27  Miguel de Icaza  <miguel@novell.com>
718
719         * HttpRequest.cs: No happy replies here, send a 411.
720
721 2005-07-27  Chris Toshok  <toshok@ximian.com>
722
723         * HttpResponseHeader.cs: remove spew.
724         
725 2005-07-27  Chris Toshok  <toshok@ximian.com>
726
727         * HttpResponseHeader.cs (HttpResponseHandler..ctor): use
728         HttpWorkerRequest.GetKnownResponseHeaderName instead of
729         GetKnownRequestHeaderName.  Fixes Response.Redirect until miguel's
730         new HttpReponse is online.
731
732 2005-07-26  Miguel de Icaza  <miguel@novell.com>
733
734         * HttpResponse.cs: use_chunked is now a byte-array, if not null,
735         we use it to hold the size of the chunked so we do not have to
736         allocate many of these. 
737         (SendSize): Helper routine to send the chunked headers.
738         (BinaryWrite): First user of the chunked writer.
739
740         * HttpApplication.cs: Do not crash if they request a Server
741         instance, but throw a NotImplementedException.
742
743         * HttpRequest.cs: fix a few problems exposed by the regression
744         test suite.
745
746         * HttpRequest.cs (Cookies): use Chris' new constructor to get the
747         cookies parsed.
748
749         : The big Uri rework: instead of using QueryString
750         as the population mechanism, populate an UriBuilder from the
751         various HttpWorkerRequest methods.
752
753         * HttpWorkerRequest.cs (GetProtocol): Implement in terms of
754         IsSecure().
755
756         * HttpResponse.cs: Pointed by Ben, Write (null) is a nop instead
757         of a crash.
758
759         * HttpContext.cs: Add a couple of properties to help the 2.x
760         build.
761         
762         * HttpResponse.cs: Make ContentLength a long, add back support for
763         session's app_path_mod.
764         (ApplyAppPathmodifier): put back.
765         (End): Pass a flag to abort so we can tell the exceptions appart
766         in HttpApplication.
767         (WriteHeaders): Send the HTTP status.
768         (Redirect): Implement.
769         (Write): Use the Output property to load writer when needed.
770         
771         * HttpRequest.cs (ctor): Temporary use of InitFromWR, will fix
772         later. 
773         (MakeInputStream): check content-length size, use routines to load
774         the preloaded data, handle incomplete transfers.
775         (Query): Do not insert null keys into the collection.
776         (Url): implement.
777         (UrlReferer): implement.
778
779         * HttpApplication.cs (RunHooks): Catch Thread.Abort, and call
780         Thread.ResetAbort after each step.
781
782         Ensure that ReleaseState is called if we ever succeed in acquiring
783         the state even if we have stopped the request pipeline.
784
785         Report file not found, directory not found.
786
787 2005-07-25  Miguel de Icaza  <miguel@novell.com>
788
789         * HttpCookieCollection.cs: Add expiration of the cookie. 
790
791         * HttpRequest.cs: Add check for ContentLength, use
792         GetPreloadedEntityBody, correct number of bytes uploaded.
793
794 2005-07-21  Miguel de Icaza  <miguel@novell.com>
795
796         * HttpResponseHeader.cs: Our implementation of HttpResponse only
797         uses the text headers, does not use any constants as XSP would go
798         through a slower code path anyways.
799
800 2005-07-21  Chris Toshok  <toshok@ximian.com>
801
802         * HttpBrowserCapabilities.cs: enable support for the W3CDomVersion
803         and EcmaScriptVersion properties.
804
805 2005-07-21  Chris Toshok  <toshok@ximian.com>
806
807         * HttpResponseHeader.cs: hi, i'm stupid and missed String.Replace.
808         
809 2005-07-21  Chris Toshok  <toshok@ximian.com>
810
811         * HttpResponseHeader.cs: url encode just \r and \n if they're
812         present in the value.
813
814 2005-07-20  Chris Toshok  <toshok@ximian.com>
815
816         * HttpPostedFile.cs: add missing ContentLength property.
817
818 2005-07-20  Chris Toshok  <toshok@ximian.com>
819
820         * HttpCookieCollection.cs: add a new ctor that takes a string (the
821         contents of the Cookies: header).
822
823 2005-07-20  Chris Toshok  <toshok@ximian.com>
824
825         * HttpCookieCollection.cs: add another ctor (internal, but not
826         obsolete, so we aren't passing a stupid HttpResponse in in order
827         to change the behavior of the collection.)
828
829         * HttpCookie.cs: init this.values in the internal ctor.
830
831 2005-07-20  Chris Toshok  <toshok@ximian.com>
832
833         * HttpCookieCollection.cs: use "auto-fill mode" when we're dealing
834         with an HttpResponse's cookie collection.  That is, create the
835         cookie if the consumer looks it up.
836
837 2005-07-20  Miguel de Icaza  <miguel@novell.com>
838
839         * HttpApplication.cs: Ongoing work on pipeline, I will need to
840         redo this later.
841
842 2005-07-19  Miguel de Icaza  <miguel@novell.com>
843
844         * HttpContext.cs (GetService): Implement.  Return all of the
845         properties that we have access to.  Make HttpWorkerRequest the
846         first match as this is the only likely reason people need to use
847         this. 
848
849         * IntPtrStream.cs: Bring from corlib.
850
851         * MultiPartContentParser.cs: use a MemoryStream as HttpInputStream
852         will now be using IntPtrStream. 
853
854         * HttpRequest.cs (MakeInputStream): move code that loads the
855         request here
856         (CloseInputStream): Helper method that we will call later to
857         ensure that we dispose properly the malloced() block. 
858         (BinaryRead): Implemented.
859
860         * HttpInputStream.cs: Rewrite to be a descendant of
861         IntPtrStream.cs 
862
863 2005-07-18  Miguel de Icaza  <miguel@novell.com>
864
865         * HttpApplication.cs (Modules): Add modules support and
866         AsyncResult.
867
868 2005-07-18  Chris Toshok  <toshok@ximian.com>
869
870         * HttpResponseHeader.cs: initial implementation.
871
872 2005-07-18  Chris Toshok  <toshok@ximian.com>
873
874         * HttpModuleCollection.cs (HttpModuleCollection.GetKey): add
875         missing method.
876
877         * HttpFileCollection.cs: initial implementation.
878
879 2005-07-18  Chris Toshok  <toshok@ximian.com>
880
881         * HttpModuleCollection.cs (HttpModuleCollection.CopyTo): implement
882         missing method.
883
884 2005-07-18  Chris Toshok  <toshok@ximian.com>
885
886         * HttpModuleCollection.cs: initial implementation.
887
888 2005-07-18  Chris Toshok  <toshok@ximian.com>
889
890         * HttpCacheVaryByHeaders.cs: only add the header if it's not
891         already in the hash.
892
893         * HttpCacheVaryByParams.cs: only add the param if it's not already
894         in the hash.
895
896 2005-07-18  Chris Toshok  <toshok@ximian.com>
897
898         * HttpCookie.cs (HttpCookie+CookieNVC.Set): new override to fix an
899         MS quirk.
900
901 2005-07-17  Miguel de Icaza  <miguel@novell.com>
902
903         * HttpRequest.cs (Headers, InputStream): implemented two more
904         properties.
905
906         * HttpInputStream.cs: All we need is a MemoryStream with writable
907         set to false.
908
909         * HttpPostedFile.cs: Use a Stream.
910
911 2005-07-16  Chris Toshok  <toshok@ximian.com>
912
913         * HttpCacheVaryByHeaders.cs: make sure we set vary_by_unspecified
914         = false in the custom setter.
915
916 2005-07-16  Chris Toshok  <toshok@ximian.com>
917
918         * HttpCacheVaryByParams.cs: initial implementation.
919
920 2005-07-16  Chris Toshok  <toshok@ximian.com>
921
922         * HttpCacheVaryByHeaders.cs: initial implementation.
923
924 2005-07-15  Chris Toshok  <toshok@ximian.com>
925
926         * HttpCookie.cs: one more time.
927
928 2005-07-15  Chris Toshok  <toshok@ximian.com>
929
930         * HttpCookie.cs (HttpCookie.GetCookieHeader): use
931         expires.ToString().
932         
933 2005-07-15  Chris Toshok  <toshok@ximian.com>
934
935         * HttpCookie.cs (HttpCookie.GetCookieHeader): implement to fix
936         ben's bug.
937
938 2005-07-15  Chris Toshok  <toshok@ximian.com>
939
940         * HttpCookieCollection.cs: initial implementation (with a couple
941         of labeled inefficiencies.)
942
943 2005-07-15  Chris Toshok  <toshok@ximian.com>
944
945         * HttpCookie.cs (HttpCookie.get_HasKeys): use values.HasKeys()
946         instead of trying to be smart about it ourselves.
947
948 2005-07-15  Chris Toshok  <toshok@ximian.com>
949
950         * HttpCookie.cs: initial implementation.  we fail one unit test,
951         but it might be due to a bug in NameValueCollection.
952
953 2005-07-15  Miguel de Icaza  <miguel@novell.com>
954
955         * HttpRequest.cs: 
956
957 2005-07-14  Miguel de Icaza  <miguel@novell.com>
958
959         * HttpRuntime.cs: Return a few of the values from the AppDomain
960         data. 
961
962         Put the application shutdown process.
963
964         * HttpApplicationFactory.cs (AddEvent): Fixed bug when more than
965         one method existed.
966         
967         (FireEvent): Do not ignore errors.
968
969         * HttpContext.cs (GetAppConfig, GetConfig): First success, use
970         ConfigurationSettings.GetConfig to get the value that QueueManager
971         needed.
972
973 2005-07-14  Dick Porter  <dick@ximian.com>
974
975         * HttpPostedFile.cs: New basic implementation; needs someone to
976         figure out what a HttpRequestStream does
977
978 2005-07-13  Miguel de Icaza  <miguel@novell.com>
979
980         * HttpRequest.cs: More work on this file
981
982         * HttpRequest.cs, HttpApplication.cs, HttpContext.cs,
983         HttpRuntime.cs: New from scratch implementation.
984
985 2005-07-01  Lluis Sanchez Gual <lluis@novell.com>
986
987         * SiteMap.cs: Read provider info from the configuration files.
988
989 2005-06-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
990
991         * HttpResponseHeader.cs: URL encode \r and \n in header values. Fixes
992         bug #75392.
993
994 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
995
996         * HttpUtility.cs: fix another stupid buglet in htmldecode.
997
998 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
999
1000         * HttpContext.cs:
1001         * HttpResponse.cs:
1002         * HttpRequest.cs: use StrUtils (invariant culture).
1003
1004 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1005
1006         * HttpRequest.cs: use StartsWith when looking for 'multipart/form-data'.
1007         File uploading was broken since a few commits ago.
1008
1009 2005-06-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1010
1011         * HttpResponse.cs: ensure that the last chunk ('0\r\n\r\n') is sent
1012         even if response.Close is called before a final flush. MS/IIS fails to
1013         do this.
1014
1015 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1016
1017         * HttpRequest.cs: don't print anything for unknown content types in
1018         ParseFormData. Use lowercase compare.
1019
1020 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1021
1022         * HttpResponse.cs: invariant love.
1023
1024 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1025
1026         * HttpResponse.cs: avoid 1 string concat.
1027         * HttpRequest.cs: fix BinaryRead. It was totally wrong.
1028
1029 2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1030
1031         * HttpUtility.cs: don't append an extra 0 when no digits seen. Fixes
1032         bug #75370.
1033
1034 2005-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1035
1036         * HttpUtility.cs: the lower limit for using &#xx; encoding is 160, not
1037         128. Reset number back to 0 after use. Fixes bug #75365.
1038
1039 2005-06-19  Svetlana Zholkovsky <svetlanaz-at-mainsoft.com>
1040                 * In following classes added TARGET_J2EE or/and TARGET_JVM
1041                   directives:
1042                         - HttpResponse.cs
1043                         - HttpRuntime.cs
1044                         - HttpUtility.cs
1045                         - CapabilitiesLoader.cs
1046                         - HttpApplication.cs
1047                         - HttpApplicationFactory.cs
1048                         - HttpContext.cs
1049                         - HttpException.cs
1050                         - HttpRequest.cs
1051                 * Added Mainsoft's specific files :
1052                         - GhHttpAsyncResult.jvm.cs
1053
1054 2005-06-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1055
1056         * HttpRequest.cs: avoid one intermediate buffer when reading the request
1057         body and fail for over limit content length when the content type is
1058         not handled as form or multipart data.
1059
1060 2005-06-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1061
1062         * HttpResponse.cs: fix the check in Close() so that CloseConnection is
1063         called even if there has been no final Flush. Fixes bug #75176.
1064
1065 2005-06-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1066
1067         * HttpParseException.cs:
1068         * HttpResponse.cs:
1069         * HttpApplication.cs: updates for 1.1 service pack.
1070
1071 2005-06-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1072
1073         * HttpUtility.cs: fix InvalidCastException.
1074
1075 2005-06-05  Kornél Pál <kornelpal@hotmail.com>
1076
1077         * HttpWriter.cs: Fixed: _OutputFilter.Close () was called twice.
1078
1079 2005-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1080
1081         * HttpUtility.cs: modified HtmlDecode so that it does not need to call
1082         Int32.Parse and handles improper &# sequences. Fixes bug #74907.
1083
1084 2005-05-26  Lluis Sanchez Gual <lluis@novell.com>
1085
1086         * SiteMapNodeCollection.cs: Implemented missing methods. The collection
1087         does not inherit from CollectionBase any more.
1088         * SiteMapNode.cs: Track api changes.
1089         * SiteMapProvider.cs: Moved several methods to the new
1090         StaticSiteMapProvider class. Other fixes.
1091         * XmlSiteMapProvider.cs: Watch changes in the xml files. Other fixes.
1092         * SiteMapProviderCollection.cs: Minor fixes.
1093         * SiteMap.cs: Added missing event. Avoid double check lock.
1094         * StaticSiteMapProvider.cs: New class that implements some of the
1095         funtionality of SiteMapProvider.
1096
1097 2005-05-25  Ben Maurer  <bmaurer@ximian.com>
1098
1099         * MimeTypes.cs: Remove extra spaces, they were typos. Fixes 75049.
1100
1101 2005-05-13 Atsushi Enomoto <atsishi@ximian.com>
1102
1103         * HttpUtility.cs : UrlDecodeToBytes() incorrectly decoded escaped 
1104           characters. Patch by Kazuki Oikawa.
1105
1106 2005-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1107
1108         * HttpRuntime.cs: PlatformID.Unix.
1109
1110 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1111
1112         * HttpResponse.cs: cleaned up the .ctors, fix IsClientConnected and just
1113         Clear the _Headers array instead of creating a new ArrayList in
1114         ClearHeaders().
1115
1116 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1117
1118         * HttpResponse.cs: we had 2 variables to track client connection status.
1119         Use only one. Increase the buffer size to 28KB when writing from a file.
1120
1121         * StaticFileHandler.cs: set the Content-Type before writing the file.
1122         This allows flushing before all the content is written.
1123
1124         * HttpApplication.cs: use the variable instead of the property when
1125         setting the Principal for the current process.
1126
1127 2005-05-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1128
1129         * ReusableMemoryStream.cs:
1130         * HttpWriter.cs: keep a pool of buffers to avoid allocations.
1131
1132 2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1133
1134         * HttpResponse.cs: no need to save/restore the thread culture when
1135         getting the Date header. According to Ben's profiling, this is a big
1136         deal in performance.
1137
1138         * HttpRuntime.cs: ignore exceptions that might be thrown when unloading 
1139         a domain.
1140
1141 2005-05-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1142
1143         * HttpApplicationFactory.cs: ignore any exception thrown when invoking
1144         an application event.
1145
1146 2005-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1147
1148         * HttpBrowserCapabilities.cs: fix Win32 property.
1149
1150 2005-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1151
1152         * HttpResponse.cs: only add the charset when explicitly set or for
1153         well-known content types.
1154
1155 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1156
1157         * HttpCachePolicy.cs:
1158         * HttpAsyncResult.cs:
1159         * HttpClientCertificate.cs:
1160         * HttpException.cs:
1161         * HttpRuntime.cs:
1162         * HttpCacheVaryByHeaders.cs:
1163         * HttpBrowserCapabilities.cs:
1164         * HttpUtility.cs:
1165         * HttpCacheVaryByParams.cs: no more warnings.
1166
1167         * QueueManager.cs: check for local connections with minLocalFreeThreads.
1168
1169 2005-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1170
1171         * ServerVariablesCollection.cs: shuffled variables, added missing ones
1172         and call a method in HttpRequest to set the HTTP_ variables.
1173
1174         * HttpRequest.cs: new method to add HTTP_ variables to a collection.
1175
1176 2005-04-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1177
1178         * HttpRequest.cs: GetAllHeaders was returning the value twice instead
1179         of 'name: value'. When HTTP_ is requested on the output, don't include
1180         unknown headers.
1181
1182 2005-03-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1183
1184         * HttpCookieCollection.cs: when adding more than one cookie with the
1185         same name, the last one is the winner.
1186
1187 2005-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1188
1189         * HttpRequest.cs: correctly store the value cookies in Params. Fixes
1190         bug #73345.
1191
1192 2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1193
1194         * HttpRequest.cs: Path and FilePath also change when RewritePath is
1195         called. Fixes bug #73055.
1196
1197 2005-02-23  Sebastien Pouliot  <sebastien@ximian.com>
1198
1199         * HttpRequest.cs: Make sure that any access after a ValidateInput 
1200         throws an exception if the data isn't safe.
1201
1202 2005-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1203
1204         * CapabilitiesLoader.cs: fix the path, as machine.config is now in a
1205         x.x/ directory below $PREFIX/etc/mono.
1206
1207 2005-02-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1208
1209         * HttpRequest.cs: fail on unicode full-width '<' and '>' too. Fixes
1210         a security report (http://secunia.com/advisories/14325) that wan't
1211         reported to us before public disclosure.
1212
1213 2005-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1214
1215         * HttpResponse.cs: send the calculated content length even when it's 0.
1216         Fixes bug #72655.
1217
1218 2005-02-04  Lluis Sanchez Gual <lluis@novell.com>
1219
1220         * HttpContext.cs: Added internal property to keep a reference to
1221         the last accessed page. Page uses this to implement PreviousPage.
1222
1223 2005-02-02  Lluis Sanchez Gual <lluis@novell.com>
1224
1225         * ProcessModelInfo.cs: Fixed warning.
1226
1227 2005-02-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1228
1229         * TraceContext.cs: writing a message without any other argument is not
1230         a warniing. Fixes bug #72017.
1231
1232 2005-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1233
1234         * HttpApplication.cs: if there are no more handlers, finish the
1235         request and ensure we call Complete on it. Now FreeTextBox 3.0 works.
1236
1237 2004-12-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1238
1239         * HttpRequest.cs: honor the maxRequestSize limit from machine.config.
1240
1241 2004-12-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1242
1243         * HttpApplication.cs: reread application CultureInfo as web.config
1244         might have changed. Fixes bug #62539.
1245
1246 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1247
1248         * HttpResponse.cs: fixed ApplyAppPathModifier to insert the session ID.
1249
1250 2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1251
1252         * HttpApplicationFactory.cs: monitor changes in global.asax and bin
1253         directory and shutdown the application when that happens. Fixes bug
1254         #49651.
1255
1256 2004-11-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1257
1258         * ReusableMemoryStream.cs: copied from System.IO.MemoryStream and
1259         slightly modified to allow expanding the buffer for cases on which the
1260         regular MemoryStream don't allow it.
1261
1262         * HttpWriter.cs: use the new ReusableMemoryStream and fix bug #59841.
1263         Otherwise we would have to allocate a new MemoryStream...
1264
1265 2004-11-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1266
1267         * HttpApplication.cs: Create() is now GetInstance().
1268
1269 2004-11-18 Lluis Sanchez Gual <lluis@novell.com>
1270
1271         * SiteMapNodeCollection.cs: Added missing properties.
1272         * HttpParseException.cs: Added 2.0 methods and properties.
1273         * SiteMapNode.cs: Added missing methods and properties.
1274         * SiteMapProvider.cs, XmlSiteMapProvider.cs, 
1275         SiteMapProviderCollection.cs: IProvider does not exist any
1276         more, it is now ProviderBase.
1277         * ISiteMapProvider.cs: Deleted.
1278         * ParserErrorCollection.cs, ParserError.cs, SiteMapResolveEventArgs.cs:
1279           Implemented.
1280         * SiteMap.cs: Minor fixes.      
1281
1282 2004-11-15 Lluis Sanchez Gual <lluis@novell.com>
1283
1284         * SiteMapProviderCollection.cs: Fixed warning.
1285         * HttpApplication.cs: Added new 2.0 events.
1286
1287 2004-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1288
1289         * HttpResponse.cs: added internl SetHeadersSent.
1290         * HttpRuntime.cs: don't throw the 'headers already sent' exception
1291         if we're sending a runtime error.
1292
1293 2004-11-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1294
1295         * HttpApplication.cs: undo the TimeoutManager.(Add|Remove) shuffling.
1296         It causes troubles under heavy load.
1297
1298 2004-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1299
1300         * SiteMap.cs: don't lock on Type.
1301         * CapabilitiesLoader.cs: avoid 2 locks when loading data.
1302
1303 2004-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1304
1305         * HttpRequest.cs: patch by Dennis Gervalle that fixes PhysicalPath in
1306         presence of rewriting.
1307
1308 2004-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1309
1310         * HttpApplication.cs: don't hang if a sync step is aborted. Fixes the
1311         system.web portion of bug #68270.
1312
1313 2004-10-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1314
1315         * TraceContext.cs: don't cast to Page is the handler it's
1316         not a page.
1317
1318 2004-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1319
1320         * HttpRequest.cs: CurrentExecutionFilePath is the one that
1321         changes when Transfer or Execute are used, not FilePath.
1322
1323         * HttpServerUtility.cs: moved form saving/restoring from
1324         Transfer to Execute, as it's needed there too. the query string is
1325         correctly set now. Fixes bug #67388.
1326
1327         * HttpContext.cs: use SetCurrentExePath instead of SetFilePath.
1328
1329 2004-10-03 Ben Maurer  <bmaurer@ximian.com>
1330
1331         * HttpResponse.cs: use UtcNow
1332
1333 2004-10-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1334
1335         * HttpResponse.cs: SuppressContent does not throw and clears all the
1336         buffered output. Fixes bug #67213.
1337
1338 2004-09-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1339
1340         * HttpUtility.cs: UrlPathEncode is static. Fixes bug #67155.
1341
1342 2004-09-29 Ben Maurer  <bmaurer@ximian.com>
1343
1344         * HttpContext.cs, TimeoutManager: Use DateTime.UtcNow.
1345
1346 2004-09-25 Ben Maurer  <bmaurer@ximian.com>
1347
1348         * HttpApplication.cs: Make sure requests are removed from
1349         the timeout manager. Fixes a major leak. #66751.
1350
1351 2004-09-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1352
1353         * HttpApplicationFactory.cs:
1354         * HttpRuntime.cs: implemented UnloadAppDomain and be ready for domain
1355         unloading.
1356
1357 2004-09-12 Ben Maurer  <bmaurer@ximian.com>
1358
1359         * HttpContext.cs: use CallContext. It is a little bit faster.
1360
1361 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1362
1363         * HttpStaticObjectsCollection.cs: don't share static session objects
1364         declared in the application file across the application, but on a
1365         per-session basis. Fixes bug #65446.
1366
1367 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1368
1369         * HttpServerUtility.cs: in Transfer(path), don't keep form data if
1370         the transfer is done from inside a page that received a postback.
1371         Fixes bug #65613.
1372
1373 2004-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1374
1375         * HttpValueCollection.cs: fixed signature of ToString (). Closes bug
1376         #65392.
1377
1378 2004-09-06 Ben Maurer  <bmaurer@users.sourceforge.net>
1379
1380         * HttpWriter.cs (.ctor): Dont create teh StreamWriter twice
1381         (Clear): Don't recreate the MemoryStream and StreamWriter
1382
1383 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1384
1385         * HttpApplication.cs: only add/remove to/from the timeout
1386         manager when we're in a interruptible step.
1387
1388 2004-09-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1389
1390         * TraceContext.cs: when IsEnabled has not been set, return the value
1391         from the TraceManager. Fixes bug #63469.
1392
1393 2004-08-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1394
1395         * HttpRuntime.cs: initialize the response writer when finishing a
1396         request because it cannot be queued. Under heavy load we made new
1397         requests be processed before the ones that might be queued. This is
1398         no longer the case.
1399
1400         * QueueManager.cs: instead of queueing/dequeuing separately, we now
1401         have a single method that does everything needed to decide which one
1402         will be the next request processed.
1403
1404 2004-08-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1405
1406         * HttpRuntime.cs: removed initializations to null in .cctor. Prevent
1407         other requests from avoiding the lock if they are received before the
1408         configuration system is inited. Ensure that the queue manager is not
1409         null before using it (it can be null while the first request is being
1410         processed).
1411
1412 2004-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1413
1414         * HttpServerUtility.cs: ensure we have a full virtual path for the
1415         request being executed.
1416
1417 2004-08-02  Duncan Mak  <duncan@ximian.com>
1418
1419         * ApplicationShutdownReason.cs: Fixed typos.
1420
1421         * HttpCookieMode.cs:
1422         * HttpDataTransferMode.cs:
1423         * HttpRequestPriority.cs: Added [Serializable] attribute.
1424         
1425 2004-08-02  Duncan Mak  <duncan@ximian.com>
1426
1427         * ApplicationShutdownReason.cs:
1428         * HttpCookieMode.cs:
1429         * HttpDataTransferMode.cs:
1430         * HttpRequestPriority.cs: Added 2.0 enumerations.
1431         
1432 2004-07-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1433
1434         * HttpApplication.cs: the file not found might be a dependency.
1435
1436 2004-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1437
1438         * HttpCookie.cs: use invariant when formatting expires date. Fixes bug
1439         #61690.
1440
1441 2004-07-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1442
1443         * HttpApplication.cs: don't keep the session around if we got it from
1444         the context. Fixes bug #61232.
1445
1446 2004-07-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1447
1448         * HttpUtility.cs: fixed stupid bug in UrlDecode from bytes. Closes bug
1449         #61181.
1450
1451 2004-07-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1452
1453         * TraceContext.cs: added internal HaveTrace property whose
1454         value is true when the page has a Trace attribute.
1455
1456 2004-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1457
1458         * TraceData.cs: fixed <br> output. Closes bug #60181.
1459
1460 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1461
1462         * HttpUtility.cs: check for control characters in the string to encode
1463         or decode and return the same string if there are none.
1464
1465 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1466
1467         * HttpApplication.cs: change/restore the IPrincipal in their own methods
1468         and make them internal.
1469
1470 2004-06-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1471
1472         * HttpContext.cs: reverting Pedro's patch and sending mail with test
1473         to mono-devel.
1474
1475 2004-06-09  Pedro Martnez Juli  <yoros@wanadoo.es>
1476
1477         * HttpContext: User property returns its own "user" value because
1478         the context can walk through different Threads. When "User" property
1479         is changed, change "Thread.CurrentPrincipal" too.
1480
1481 2004-06-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1482
1483         * HttpRequest.cs: removed extra ^Ms and fixed style of last patch.
1484
1485 2004-06-08  Alon Gazit  <along@mainsoft.com>
1486
1487         * HttpRequest.cs: Add a patch for HttpRequest.ServerVariables.
1488
1489 2004-06-07  Sebastien Pouliot  <sebastien@ximian.com>
1490
1491         * HttpContext.cs: User property now get/set Thread.CurrentPrincipal.
1492         Fix (at least partially) #59683.
1493
1494 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1495
1496         * HttpRequest.cs: reverting patch from Alon Gazit. Uses the above file
1497         that doesn't compile.
1498
1499 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1500
1501         * TraceData.cs: fixes nullref in an application that relies on
1502         r ["Message"] not being null. Closes bug #59679.
1503
1504 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1505
1506         * HttpCachePolicy.cs: implemented SetAllowResponseInBrowserHistory.
1507
1508 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1509
1510         * HttpRuntime.cs: implemented a 5 simple properties that were TODOs.
1511
1512 2004-06-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1513
1514         * HttpBrowserCapabilities.cs: implemented ClrVersion and GetClrVersions.
1515         * HttpException.cs: removed MonoTODO.
1516
1517 2004-06-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1518
1519         * TraceContext.cs: don't check if HttpRuntime.TraceManager
1520         is enabled when writing.
1521
1522 2004-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1523
1524         * HttpRequest.cs: added ClientTarget internal property.
1525
1526 2004-06-03  Lluis Sanchez Gual <lluis@ximian.com>
1527
1528         * HttpApplication.cs: Clear the http handler list after releasing the
1529           handlers.
1530
1531 2004-06-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1532
1533         * TraceData.cs: html-encode the messages written to the trace. Fixes
1534         bug #59431.
1535
1536 2004-06-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1537
1538         * HttpWorkerRequest.cs: the hashtables are now case-insensitive. Thanks
1539         to Markus Krutner.
1540
1541 2004-05-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1542
1543         * HttpRequest.cs: nullify _sRequestRootVirtualDir and baseVirtualDir
1544         when SetFilePath is called. This way the cached values are reset and
1545         get the right value in case someone (namely SessionStateModule + 
1546         cookieless session) changes the FilePath after the property cached its
1547         value. Fixes bug #59364.
1548
1549 2004-05-27      Patrik Torstensson <totte@hiddenpeaks.com>
1550
1551         * HttpApplicationFactory.cs: Added SignalError (still todo)
1552
1553 2004-05-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1554
1555         * HttpResponse.cs: remove hardcoded "HTTP/1.0" version that kept
1556         chunked encoding disabled. Fixed chunked suffix and end. Send the
1557         'lastchunk' marked when in the final Flush even if the content length
1558         is 0. This makes mod-mono-server work fine with chunked encoding.
1559          
1560         * HttpRuntime.cs: Set the _firstRequest* variables to true
1561         earlier. TraceContext don't take any parameter now.
1562
1563         * TraceManager.cs: don't need a context. Use GetAppConfig.
1564
1565 2004-05-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1566
1567         * HttpApplication.cs: set culture/uiculture from configuration and
1568         restore it after each step. Fixes bug #52851.
1569
1570 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1571
1572         * HttpUtility.cs: use lower case in UrlEncode like MS does. Delay
1573         entities hashtable creation until it's really needed.
1574
1575 2004-05-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1576
1577         * HttpApplicationFactory.cs: if no module matches the name found for a
1578         possible event, ignore it. Fixes bug #58542.
1579
1580 2004-05-16      Patrik Torstensson <totte@hiddenpeaks.com>
1581
1582         * HttpRuntime (Init): Removed old todo
1583         * HttApplication : Implemented IHttpHandlerFactory recycling
1584         
1585 2004-04-28      Patrik Torstensson
1586
1587         * HttpApplicationState.cs: Performance, usage of ReaderWriter lock,
1588         removed MonoTodo
1589
1590 2004-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1591
1592         * HttpUtility.cs: return null in HtmlDecode for null input instead of
1593         throwing an exception. Patch by Jan Jaros (bug #57083).
1594
1595 2004-04-10  Vladimir Vukicevic  <vladimir@pobox.com>
1596
1597         * TimeoutManager.cs: Swap the order of initialization of contexts
1598         and the Timer, to avoid race condition of CheckTimeouts being called
1599         before contexts gets initialized.
1600
1601 2004-03-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1602
1603         * HttpRequestStream.cs: patch from Jan Jaros that fixes bug #56080.
1604         Now the posted file content does not have the boundaries and headers
1605         included.
1606
1607 2004-03-25  Alon Gazit <along@mainsoft.com>
1608
1609         * HttpRequest.cs: fix ValidateCookieCollection() to prevent
1610         InvalidCastException.
1611
1612 2004-03-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1613
1614         * HttpValueCollection.cs: don't UrlDecode cookies. Fixes bug #55254.
1615
1616 2004-03-01  Larry Ewing  <lewing@ximian.com>
1617
1618         * HttpUtility.cs: fix UrlEncodeToBytes count check.
1619
1620 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1621
1622         * HttpServerUtility.cs:
1623         * HttpUtility.cs: added some checks for null. Fixed UrlPathEncode (bug
1624         #53670).
1625
1626 2004-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1627
1628         * HttpUtility.cs: fixed length check. Closes bug #54201.
1629         Thanks to Michal Moskal. Use MemoryStream instead of an ArrayList when
1630         decoding.
1631
1632 2004-02-11  Jackson Harper <jackson@ximian.com>
1633
1634         * TraceData.cs: Use ToString for cookie/header/var name values so
1635         null is handled properly.
1636         
1637 2004-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1638
1639         * HttpApplication.cs: ApplicationState is inited by the factory so,
1640         return that value in the property. when we use the context Session,
1641         cache it in the instance field.
1642
1643         * HttpApplicationFactory.cs: fixed target Type for the event when
1644         hooking application and module events. Initialize application
1645         and session scope objects. Fixes non-aplication events hook up.
1646
1647         * HttpStaticObjectsCollection.cs: added StaticItem and delay the
1648         creation of the objects until they are requested.
1649
1650 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1651
1652         * HttpApplicationFactory.cs: fixlet for session events hook.
1653
1654 2004-01-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1655
1656         * HttpApplicationFactory.cs: attach all events from Type and BaseType
1657         at the same time. Fixes bug #53454.
1658
1659 2004-01-27  Jackson Harper <jackson@ximian.com>
1660
1661         * HttpCachePolicy.cs: varybyparams::GetResponseHeader can return
1662         null now, dont hadd the header if it does.
1663         * HttpCacheVaryByParams.cs: Return null if there are no items.
1664
1665 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1666
1667         * HttpCachePolicy.cs: it's not public.
1668         * HttpRuntime.cs: wait for requests before disposing the queue.
1669
1670 2004-01-15  Jackson Harper <jackson@ximian.com>
1671
1672         * HttpCachePolicy.cs: Fix typo causing varyby params headers to be
1673         created when they shouldn't be.
1674         
1675 2004-01-14  Jackson Harper <jackson@ximian.com>
1676
1677         * TraceData.cs: Fix some typos in the output text. Fix control
1678         position when adding controls recursively.
1679         
1680 2004-01-14  Jackson Harper <jackson@ximian.com>
1681
1682         * HttpCachePolicy.cs: Expose duration and sliding properties.
1683         
1684 2004-01-14  Jackson Harper <jackson@ximian.com>
1685
1686         * HttpCachePolicy.cs: Add an event that is fired when the
1687         cacheability is updated. The response uses this to determine
1688         whether or not it needs to cache itself.
1689         * HttpResponse.cs: When the cacheability is updated either create
1690         or dispose of the cached raw response based on whether or not we
1691         wil need it. This allows output caching to be controlled
1692         programatically.
1693         
1694 2004-01-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1695
1696         * HttpContext.cs: add setter for ConfigTimeout.
1697         * HttpException.cs: added Description property and HTML encode some
1698         unescaped values.
1699
1700         * HttpRequest.cs: support request validation.
1701
1702         * HttpRequestValidationException.cs: added message and description.
1703
1704         * HttpServerUtility.cs: implemented ScriptTimeout.
1705
1706 2004-01-11  Jackson Harper <jackson@ximian.com>
1707
1708         * TraceManager.cs: Dont crash if there is no trace config element.
1709         
1710 2004-01-11  Jackson Harper <jackson@ximian.com>
1711
1712         * HttpRequest.cs: Add property for determining if the request is
1713         local or not.
1714         
1715 2004-01-10  Jackson Harper <jackson@ximian.com>
1716
1717         * TraceContext.cs: Handle tracing when it is enabled in the config
1718         file but not on the page.
1719         * TraceManager.cs: Get settings from the configuration object.
1720         * HttpRuntime.cs: Create trace manager in the first request start
1721         so it can get configuration settings.
1722         
1723 2004-01-10  Jackson Harper <jackson@ximian.com>
1724
1725         * TraceContext.cs: Save the request path in the trace data.
1726         * TraceData.cs: Add RequestPath property, make some rendering
1727         methods internal static so the TraceHandler can use them.
1728         * TraceManager.cs: Expose trace data, add a method for clearing
1729         trace data.
1730         
1731 2004-01-10  Jackson Harper <jackson@ximian.com>
1732
1733         * HttpRuntime.cs: Add trace manager
1734         * TraceManager.cs: New class for handling trace configuration and
1735         storing trace data objects.
1736         * TraceContext.cs: Save trace data to the trace manager. Fix typo.
1737         
1738 2004-01-10  Jackson Harper <jackson@ximian.com>
1739
1740         * TraceData.cs: New class for storing trace data. Data is stored
1741         here instead of the trace context so it can be saved and accessed
1742         from the trace handler.
1743         * TraceContext.cs: Save data in the TraceData object, let the
1744         trace data object handle the rendering.
1745         
1746 2004-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1747
1748         * HttpRequest.cs: use ContentEncoding for QueryString. Fixes bug #52577.
1749         Thanks to Jan Jaros (mono-bug@jerryweb.info).
1750
1751         * HttpRequestValidationException.cs: fix comment.
1752
1753 2004-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1754
1755         * HttpException.cs: default to error 500. Fixes bug #52623.
1756
1757 2004-01-04  Jackson Harper <jackson@ximian.com>
1758
1759         * TraceContext.cs: Store and render trace info times. Also render
1760         cookie sizes. Remove debug code.
1761         
1762 2004-01-04  Jackson Harper <jackson@ximian.com>
1763
1764         * HttpResponse.cs: Set the cached response date header so it can
1765         be updated.
1766         * HttpResponseHeader.cs: Let values be set so we can update cached 
1767         response header values.
1768         
1769 2004-01-04  Jackson Harper <jackson@ximian.com>
1770
1771         * HttpResponse.cs: Implement RemoveOutputCacheItem.
1772         
1773 2004-01-04  Jackson Harper <jackson@ximian.com>
1774
1775         * HttpCachePolicy.cs: Add internal method to get the vary by custom string
1776         * HttpCacheVaryByHeaders.cs: Add internal method to get the header names.
1777         
1778 2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1779
1780         * HttpRuntime.cs: implemented MachineConfigurationDirectory,
1781
1782 2004-1-1  Alon Gazit <along@mainsoft.com>
1783         * HttpWriter.cs: add check in Write() in order to prevent
1784         NullReferenceException.
1785
1786 2004-1-1  Alon Gazit <along@mainsoft.com>
1787         * HttpResponse.cs: implemented ExpiresAbsolute and Expires.
1788
1789 2003-12-18  Jackson Harper <jackson@ximian.com>
1790
1791         * TraceContext.cs: Write () methods are not warnings.
1792         
1793 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1794
1795         * HttpBrowserCapabilities.cs: added GetClrVersions ().
1796         * HttpCachePolicy.cs: added SetAllowResponseInBrowserHistory ().
1797         * HttpContext.cs: added set_Current and RewritePath (s, s, s) for 1.1.
1798         * HttpRequest.cs: added set_ContentType, SetPathInfo and ValidateInput.
1799         * HttpRequestValidationException.cs: new class for 1.1
1800         * HttpResponse.cs: added RedirectLocation.
1801         * HttpRuntime.cs: added UnloadAppDomain.
1802         * HttpServerUtility.cs: Execute (s, t, b) is internal for < 1.2
1803         * HttpUtility.cs: copied UrlPathEncode from HttpServerUtility.
1804         * HttpWorkerRequest.cs: added [ComVisible] and made the ctor public.
1805
1806 2003-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1807
1808         * HttpContext.cs: implemented IsCustomErrorEnabled and
1809         IsDebuggingEnabled. Added internal ErrorPage property.
1810
1811         * HttpRuntime.cs: on error, check if we have a custom error page enabled
1812         to handle it and redirect.
1813
1814         * HttpResponse.cs: added RedirectCustomError (), which actually does
1815         the redirection to the error page.
1816         
1817 2003-12-16  Jackson Harper <jackson@ximian.com>
1818
1819         * TraceContext.cs: Render all the data, and the stylesheet.
1820         
1821 2003-12-16  Jackson Harper <jackson@ximian.com>
1822
1823         * TraceContext.cs: Add incomplete render method.
1824         
1825 2003-12-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1826
1827         * CapabilitiesLoader.cs: loads browser detection and capabilities data
1828         from browscap.ini file by Gary J. Keith.
1829
1830         * HttpBrowserCapabilities.cs: removed almost all TODOs.
1831
1832         * HttpRequest.cs: fixed Browser property.
1833
1834 2003-12-15  Jackson Harper <jackson@ximian.com>
1835
1836         * TraceContext.cs: Initial implementation of storing data.
1837         * HttpContext.cs: Create and expose a trace object.
1838         
1839 2003-12-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1840
1841         * HttpApplication.cs: ThreadAbortException is ok on Redirect.
1842         * HttpContext.cs: added TimeoutPossible property.
1843         * HttpResponse.cs: throw ThreadAbortException if End () is called within
1844         a step in which is possible to timeout.
1845
1846         Fixes bug #51703.
1847
1848 2003-12-04  Jackson Harper <jackson@ximian.com>
1849
1850         * HttpRequest.cs: Cleanup method.
1851         
1852 2003-12-04  Jackson Harper <jackson@ximian.com>
1853
1854         * HttpValueCollection.cs: Allow blank value names. Posting
1855         <blank>=SomeValue is valid. And occurs if a radio button does
1856         not have its name set.
1857         
1858 2003-12-03  Jackson Harper <jackson@ximian.com>
1859
1860         * HttpResponse.cs: Actually apply an app path modifier in
1861         ApplyAppPathModifer and add a method to set the app path modifier.
1862         * HttpRequest.cs: Add utility method for setting a request header.
1863         
1864 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1865
1866         * HttpApplication.cs: handle FileNotFound and DirectoryNotFound
1867         exceptions when creating the handler to generate a better error page.
1868
1869         * HttpException.cs: display the http_code if available.  Changed all
1870         \n by \r\n to make the hidden stack trace readable.
1871         
1872         * StaticFileHandler.cs: don't send the real path in th eerror.
1873
1874 2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1875
1876         * HttpContext.cs: updated GetConfig and GetAppConfig to new API.
1877         
1878         * HttpResponse.cs: separate initialization of the HttpWriter, as it
1879         tries to read configuration settings while the config. system is not
1880         available (ie, before the first request).
1881         
1882         * HttpRuntime.cs: delayed queueManager and response writer
1883         initialization until the configuration system is working.
1884
1885 2003-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1886
1887         * HttpRuntime.cs: added request queue handling.
1888
1889         * QueueManager.cs: simple request queue.
1890         
1891         * TimeoutManager.cs: added some locks to prevent the enumerator used in
1892         CheckTimeouts to be out of synch.
1893
1894 2003-11-25  Jackson Harper <jackson@ximian.com>
1895
1896         * HttpStaticObjectsCollection.cs: Add methods for serialization
1897         and conversion to/from byte arrays.
1898         
1899 2003-11-21  Jackson Harper <jackson@ximian.com>
1900
1901         * HttpResponse.cs: When caching data set the content length in the
1902         cached repsonse so that only that amount will be written back to
1903         the client. Add method to write a range of binary data.
1904         * HttpCacheVaryByParams.cs: Add method to retrieve param names.
1905         
1906 2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1907
1908         * HttpApplication.cs:
1909         * HttpContext.cs:
1910         * HttpRuntime.cs: add timeout handling.
1911         * TimeoutManager.cs: new class that takes care of aborting threads on
1912         timeout.
1913
1914 2003-11-19  Jackson Harper <jackson@ximian.com>
1915
1916         * HttpWriter.cs: Use a constant for the buffer size so the cache
1917         can get the buffer size. Add method to get the buffer.
1918         * HttpResponse.cs: Methods for getting data to cache, and setting
1919         vars from the cache.
1920         * HttpCachePolicy.cs: Expose a pages cache expire time.
1921         
1922 2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1923
1924         * HttpResponse.cs: 
1925         * HttpWriter.cs: some fixes to allow closing a response stream without
1926         messing the rest.
1927
1928 2003-11-13  Jackson Harper  <jackson@ximian.com>
1929
1930         * HttpCachePolicy.cs: Make sure cacheability and maxage get
1931         set. Add method to set Http response header data
1932         * HttpCacheVaryByParams.cs: Add method to create a response header.
1933         * HttpCacheability.cs: Add ServerAndPrivate and ServerAndNoCache.
1934         * HttpResponse.cs: Set cache headers.
1935         
1936 2003-11-11 Ben Maurer  <bmaurer@users.sourceforge.net>
1937
1938         * HttpModuleCollection.cs (GetKey): Recursion, again!
1939
1940 2003-11-11 Ben Maurer  <bmaurer@users.sourceforge.net>
1941
1942         * HttpClientCertificate.cs (ValidUntil): recursion!
1943
1944 2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
1945
1946         * SiteMapNode.cs (GetDataSourceView): Implement.
1947         * SiteMapProvider.cs: Typo fixing.
1948         * XmlSiteMapProvider.cs: We shouldnt resolve here.
1949         
1950 2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
1951
1952         * SiteMap.cs (Init): implement a hack that doesnt need the config
1953         stuff. Should do that later.
1954         * SiteMapNodeCollection (OnValidate): Fix recursion.
1955         * SiteMapProvider.cs: We dont implement some culture stuff work
1956         around it. Fix typo.
1957         * XmlSiteMapProvider.cs: Added.
1958         
1959 2003-11-07 Ben Maurer  <bmaurer@users.sourceforge.net>
1960
1961         * ISiteMapProvider.cs:
1962         * SiteMap.cs:
1963         * SiteMapNode.cs:
1964         * SiteMapNodeCollection.cs:
1965         * SiteMapProvider.cs:
1966         * SiteMapProviderCollection.cs: V2 sitemap related stuff.
1967
1968 2003-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1969
1970         * HttpRequest.cs: don't attempt to read more bytes than specified
1971         content length.
1972
1973 2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1974
1975         * HttpRequest.cs:
1976         * HttpResponse.cs:
1977         * HttpUtility.cs:
1978         * HttpValueCollection.cs: encoding fixes/updates.
1979
1980         * HttpWriter.cs: when updating the encoding, flush the existing stream.
1981         Encoding updates.
1982
1983 2003-11-04 Ben Maurer  <bmaurer@users.sourceforge.net>
1984
1985         * HttpContext.cs (IsCustomErrorEnabled): dont throw exception, just
1986         return false (which makes sense, as the custom errors *arent* enabled;
1987         ie they dont work.
1988         * HttpResponseStream.cs: you actually can write with len = 0
1989
1990 2003-11-03 Jackson Harper <jackson@ximian.com>
1991
1992         * HttpResponse.cs (ContentEncoding): Throw
1993         ArgumentNullException. Patch by Yaron Shkop.
1994         
1995 2003-10-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1996
1997         * HttpMultipartContentParser.cs : Quick fix for cygwin build. 
1998           CSC complains that constant char cannot be casted as byte.
1999
2000 2003-10-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2001
2002         * HttpApplication.cs: added AssemblyLocation property.
2003
2004 2003-10-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2005
2006         * HttpApplicationFactory.cs: use NoParamsInvoker.
2007         * HttpRequest.cs: support request filters.
2008         * HttpRequestStream.cs: mono-stylized and added new Set method.
2009
2010         * NoParamsInvoker.cs: proxy class to invoke user-provided methods
2011         without parameters that are invoked by EventHandlers.
2012
2013 2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
2014
2015         * HttpResponse.cs: Changed harcoded switch to en-US culture to a switch
2016           to invariant culture.
2017
2018 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2019
2020         * HttpResponse.cs:
2021         * HttpServerUtility.cs: change the response writer in Execute. Thanks
2022         to Rich Alimi <rich@velvetsea.net> for noticing this.
2023
2024 2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2025
2026         * HttpApplicationFactory.cs: support for wiring up events without
2027         parameters.
2028
2029 2003-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2030
2031         * HttpUtility.cs: small memory usage reduction.
2032
2033 2003-10-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2034
2035         * HttpApplication.cs: pass the Uri, not the file path to
2036         when looking for a handler.
2037
2038 2003-09-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2039
2040         * HttpRequest.cs: small fix needed when reading big POST data.
2041
2042 2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
2043
2044         * HttpRequest.cs: Url property: use GetLocalAddress() to get the address
2045           (this will get the address from the request headers).
2046
2047 2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
2048
2049         * HttpServerUtility.cs: In Transfer(), preserve the query string if
2050           told to do so.
2051
2052 2003-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2053
2054         * HttpApplication.cs: ensure we do all the EndRequest steps. Don't
2055         filter the output on error.
2056         
2057         * HttpResponse.cs: modified DoFilter to allow bypassing filtering.
2058
2059 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2060
2061         * HttpApplication.cs: when the request is completed or an
2062         error happens, execute all the delegates attached to EndRequest, not
2063         only the last one. This makes xsp/test/authtest work again.
2064         
2065         * HttpMethodNotAllowedHandler.cs: fixed description for http
2066         status code.
2067
2068 2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2069
2070         * HttpRequest.cs: quick way of checking that the path is within the
2071         root for the application. Thanks to Johannes for reporting.
2072         
2073         * HttpRuntime.cs: use the status code from teh exception when it'ss a
2074         HttpException.
2075
2076         * StaticFileHandler.cs: forbidden is 403.
2077
2078 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2079
2080         * HttpServerUtility.cs: fixed path and query. Path by Rich Alimi
2081         <rich@velvetsea.net>.
2082
2083 2003-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2084
2085         * HttpException.cs: make the unhandled error more like the MS one.
2086         * HttpRuntime.cs: set a 500 error code on unhandled exceptions.
2087
2088 2003-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2089
2090         * HttpResponse.cs: flush headers when the body length is 0.
2091         * StaticFileHandler.cs: added If-Modified-Since handling patch slightly
2092         modified from the original by Piers Haken <piersh@friskit.com>.
2093
2094 2003-08-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2095
2096         * HttpResponse.cs: another patch from totte and me. This one prevents
2097         writing output if the client have disconnected and filters the data
2098         when there's a non-final Flush in the middle of the process.
2099
2100 2003-08-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2101
2102         * HttpApplication.cs: fixed typos. Closes bug #44197.
2103
2104 2003-08-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2105
2106         * HttpApplication.cs:
2107         * HttpApplicationFactory.cs: fix duplicate application OnStart events.
2108
2109         Patch by Patrik Torstensson.
2110
2111 2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2112
2113         * HttpApplicationFactory.cs: use the correct Delegate.CreateDelegate
2114         overload. The previous one only admits static methods.
2115
2116 2003-08-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2117
2118         * ProcessModelInfo.cs: Fixed signature
2119
2120 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
2121
2122         * WebCategoryAttribute.cs: Implemented localization
2123         * WebSysDescriptionAttribute.cs: Implemented localization
2124
2125 2003-07-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2126
2127         * HttpRuntime.cs: also clear the headers that may have been set upon
2128         error processing the request.
2129
2130 2003-07-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2131
2132         * HttpResponseStreamProxy.cs: reformatted. Fixed infinite recursion in
2133         Write method.
2134
2135         * HttpWriter.cs: flush the filter after writing.
2136
2137 2003-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2138
2139         * HttpWriter.cs: avoid duplicating the MemoryStream byte buffer.
2140
2141 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2142
2143         * HttpContext.cs: Session doesn't have a setter.
2144
2145         * HttpResponse.cs: Request is private.
2146
2147 2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2148
2149         * HttpRequest.cs: fixed Headers property. It was getting known headers
2150         values instead of known headers names.
2151
2152 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2153
2154         * HttpApplication.cs: prevent nullref if an error happens before context
2155         is set.
2156         * HttpException.cs: small fix in the stack trace sent.
2157         * HttpUtility.cs: the lock is not needed.
2158
2159 2003-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2160
2161         * HttpRequest.cs: added REMOTE_PORT.
2162         * HttpValueCollection.cs: fixed bug #45490.
2163
2164 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2165
2166         * HttpApplication.cs:
2167         * HttpApplicationFactory.cs: fire application start and session
2168         start/end events.
2169
2170 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2171
2172         * HttpException.cs: encode as HTML the inner exception that
2173         is appended as a comment at the end of error pages.
2174
2175 2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2176
2177         * HttpWriter.cs: don't do anything in Flush. Fixes #42249.
2178
2179 2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2180
2181         * HtmlizedException.cs: added more virtual methods.
2182
2183         * HttpException.cs:  some work on the output when there's a source
2184         file present.
2185
2186 2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2187
2188         * HtmlizedException.cs: simplified to cope with the new interface.
2189
2190         * HttpApplicationFactory.cs: use the application file parser to get the 
2191         application Type.
2192         
2193         * HttpException.cs: small changes. Needs some more work on
2194         ParseExceptions.
2195         
2196 2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2197
2198         * HttpRequest.cs: fixed Url property.
2199
2200 2003-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2201
2202         * HtmlizedException.cs:
2203         * HttpException.cs: display the correct line number in error messages.
2204
2205 2003-03-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2206
2207         * HttpCachePolicy.cs: implemented all TODOs.
2208         * HttpRequestStream.cs: make it internal.
2209
2210 2003-03-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2211
2212         * HttpContext.cs: implemented RewritePath in other way.
2213         * HttpRequest.cs: removed SetPhysicalPath and added SetForm.
2214         * HttpServerUtility.cs: implemented Transfer (string, bool).
2215
2216 2003-03-16  Daniel Lopez Ridruejo <daniel @ rawbyte.com>
2217         * HttpContext.cs : Implemented RewritePath
2218         * HttpRequest.cs : Added internal function SetPhysicalPath
2219
2220 2003-03-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2221
2222         * HttpServerUtility.cs: implemented Transfer ().
2223
2224 2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2225
2226         * HttpRuntime.cs: Cache no longer have a Dispose method.
2227
2228         * HttpServerUtility.cs: removed MonoTODO.
2229
2230 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2231
2232         * HttpHelper.cs: store the values in an ArrayList to get them in correct
2233         order.
2234
2235 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2236
2237         * HttpApplicationFactory.cs: Global.asax takes precedence over
2238         global.asax if it exists.
2239
2240         * HttpRequest.cs: use allowCrossAppMapping in MapPath.
2241
2242 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2243
2244         * HttpApplication.cs: CreateHttpHandler is now internal.
2245
2246         * HttpRequest.cs: allow setting QueryStringRaw, which
2247         invalidates the data obtained from the previous value. Added internal
2248         SetFilePath method.
2249
2250         * HttpServerUtility.cs: implemented Execute and GetLastError.
2251
2252 2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2253
2254         * HttpServerUtility.cs: style.
2255
2256 2003-02-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2257
2258         * HttpApplication.cs: only execute the EndRequest step on error
2259         condition or request marked as completed. This prevent page events from
2260         being called when, for example, the url authorization module forbids
2261         the request.
2262
2263 2003-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2264
2265         * HttpRequest.cs: implemented the indexer.
2266
2267 2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2268
2269         * HtmlizedException.cs: base class for exceptions that makes it easy to
2270         generate error pages.
2271
2272         * HttpException.cs: improved error displaying.
2273
2274         * HttpRuntime.cs: removed debugging output.
2275
2276 2003-02-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2277
2278         * HttpApplication.cs: display the error instead of hanging when we get
2279         any error before the last step of the request.
2280
2281 2003-02-04  Tim Haynes <thaynes@openlinksw.com>
2282
2283         * HttpApplicationFactory.cs: fixed HttpRuntime.Close() to decrement
2284         instance counter.
2285
2286 2003-01-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2287
2288         * HttpRequest.cs: added BaseVirtualDir property and use it in MapPath.
2289
2290 2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2291
2292         * HttpRequest.cs: implemented CurrentExecutionFilePath.
2293
2294 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2295
2296         * HttpApplication.cs: keep _lasterror if no context. Attach
2297         application events *after* modules initialization (if not, User is not
2298         set when the user handler is called).
2299         
2300         * HttpApplicationFactory.cs: made all methods related to
2301         AttachEvents static. I will fix OnStart/OnEnd for application and
2302         session later.
2303         
2304         * HttpRequest.cs: don't initialize cookies twice.
2305
2306 2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2307
2308         * HttpResponse.cs:
2309         (ApplyAppPathModifiers): return the root directory for "".
2310
2311 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2312
2313         * HttpUtility.cs: fixed HtmlDecode to avoid ArgumentOutOfRangeException.
2314
2315 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2316
2317         * HttpApplication.cs: added new state to handle default authentication.
2318
2319 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2320
2321         * HttpContext.cs: removed hack to get the User.
2322
2323 2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2324
2325         * HttpUtility.cs: fixed bug #36038. Thanks to juancri@tagnet.org for
2326         reporting the bug and how to fix it.
2327
2328 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2329
2330         * HttpCookie.cs: send 'expires' in the header.
2331
2332 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2333
2334         * HttpValueCollection.cs: patch from Botjan Vizin 
2335         <bostjan.vizin@siol.net> that implements ToString (bool).
2336
2337 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2338
2339         * HttpApplicationFactory.cs: add the context as parameter when building
2340         the application Type.
2341         
2342         * HttpCookie.cs: new internal constructor.
2343         * HttpCookieCollection.cs: new internal method to make a cookie expire.
2344
2345         * HttpRequest.cs: MapPath fixes.
2346         * HttpResponse.cs: implemented ApplyAppPathModifier.
2347         * HttpRuntime.cs: fixed typo in AppDomainAppVirtualPath.
2348
2349 2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2350
2351         * HttpContext.cs: hack to create a default user when there's no one.
2352         Implemented GetConfig (string).
2353
2354         * HttpRequest.cs: fixes to MapPath (string).
2355
2356 2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2357
2358         * HttpRuntime.cs: avoid nulls and exception when getting resource
2359         format strings.
2360
2361         * StaticFileHandler.cs: added file name to error message.
2362
2363 2002-12-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2364
2365         * HttpResponse.cs: avoid sending chunked content for HTTP/1.1.
2366
2367 2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2368
2369         * HttpApplicationFactory.cs: get the events from the application class,
2370         fire Application/Session Start/End and add the others as application
2371         events.
2372
2373 2002-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2374
2375         * HttpApplicationFactory.cs: compile global.asax file if it exists.
2376
2377 2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2378
2379         * HttpRequest.cs: provide a default Browser until we detect it.
2380         * HttpResponse.cs:
2381         (End): do not close the connection here.
2382         (Flush (bool)): send the headers when, for example, Redirect () is
2383         called.
2384
2385 2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2386
2387         * HttpException.cs: simple error output.
2388
2389 2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2390
2391         * HttpApplication.cs: style.
2392         * HttpException.cs: style.
2393         * HttpRuntime.cs: only flush the response if there are no errors.
2394         Otherwise, write an error output.
2395         * HttpWriter.cs: change Unicode to UTF8.
2396
2397 2002-11-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2398
2399         * HttpApplication.cs: don't begin the request using ExecuteNextAsync
2400         (it fails to work on NetServ).
2401
2402         * HttpWorkerRequest.cs: typo.
2403
2404 2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2405
2406         * HttpValueCollection.cs: the value may contain trailing '=' as it is
2407         UrlEncoded. Don't split name=value based on '='.
2408
2409 2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2410
2411         * HttpCookie.cs: made GetCookieHeader internal.
2412
2413         * HttpRequest.cs: get cookies from request.
2414
2415         * HttpResponse.cs: send cookies. Implemented
2416         AddFileDependencies (). Added check for _Writer == null in Flush
2417         (Patrik ;-). Clear the content if HEAD or SupressContent == true.
2418         Removed redirect hack used in old server.
2419
2420 2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2421
2422         * HttpRequest.cs: fixed GetRawContent (). Now it only tries to read at
2423         most ContentLength bytes.
2424
2425         * HttpResponse.cs: now it sends the headers. Added
2426         X-Powered-By header :-).
2427
2428         * HttpRuntime.cs: fixed typo.
2429
2430         * HttpValueCollection.cs: cosmetic changes.
2431
2432 2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2433
2434         * HttpApplication.cs: reenabled a few lines of code
2435         (ThreadPool already fixed). 
2436         
2437         * HttpRequest.cs:
2438         * HttpResponse.cs:
2439         * HttpUtility.cs:
2440         * HttpValueCollection.cs:
2441         * HttpWriter.cs: Use WebEncoding.Encoding.
2442
2443 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2444
2445         * HttpWriter.cs: changed encoding of the writer from Unicode to UTF8.
2446         This fixes sending bytes and allows mixing byte with chars.
2447
2448 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2449
2450         * HttpResponse.cs: implemented WriteFile methods.
2451         * MimeTypes.cs: removed duplicated entries.
2452
2453 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2454
2455         * HttpResponse.cs: don't throw exception in a couple of
2456         methods not yet implemented.
2457
2458 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2459
2460         * HttpApplication.cs: fixed type and handle factories when creating
2461         IHttpHandler for a request.
2462
2463 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2464
2465         * HttpApplication.cs: use handlers from configuration.
2466         * HttpContext.cs: get handlers from ConfigurationSettings.
2467
2468 2002-10-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2469
2470         * HttpMethodNotAllowedHandler.cs:
2471         * HttpRuntime.cs:
2472         * StaticFileHandler.cs: Modified file.
2473
2474         * HttpUtility.cs: implemented all missing methods.
2475
2476
2477 2002-09-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2478
2479         * System.Web/HttpApplication.cs: use the static file handler.
2480         * System.Web/HttpForbiddenHandler.cs: handler to forbid access.
2481         * System.Web/HttpMethodNotAllowedHandler.cs: handler for method not
2482         allowed.
2483         
2484         * System.Web/HttpUtility.cs: finished all UrlDecode methods.
2485         * System.Web/MimeTypes.cs: map from file extension to MIME type.
2486         * System.Web/StaticFileHandler.cs: serves static files
2487
2488 2002-09-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2489
2490         * System.Web/HttpApplication.cs:
2491         * System.Web/HttpApplicationFactory.cs:
2492         * System.Web/HttpRequest.cs:
2493         * System.Web/HttpRuntime.cs: we are now able to compile pages and use
2494         HttpApplication, HttpRuntime and SimpleWorkerRequest.
2495
2496 2002-09-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2497
2498         * HttpApplication.cs: added some missing methods.
2499         * HttpApplicationFactory.cs: get event handlers for the application.
2500         * HttpAsyncResult.cs: little fixes.
2501         * HttpRequest.cs: make Encoding work even with no worker request.
2502
2503 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2504
2505         * HttpWorkerRequest.cs: mcs doesn't go crazy. It's just me, that forgot
2506         to add HttpMapPath to the list file...
2507
2508 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2509
2510         * HttpWorkerRequest.cs: fixes compilation with mcs. I will add a bug
2511         report when i get a test case.
2512
2513 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2514
2515         * HttpApplicationFactory.cs:
2516         * HttpCachePolicy.cs:
2517         * HttpResponseHeader.cs:
2518         * HttpResponseStream.cs:
2519         * HttpResponseStreamProxy.cs:
2520         * HttpValueCollection.cs: misc. fixes based on class status page.
2521
2522         * IHttpMapPath.cs: New file.
2523
2524         * HttpRequest.cs: implemented ContentEncoding.
2525         * HttpWorkerRequest.cs: mono-stylized and implemented
2526         SendResponseFromMemory.
2527
2528 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2529
2530         * HttpContext.cs: reformatted.
2531         * HttpStaticObjectsCollection.cs: implemented GetEnumertor, CopyTo and
2532         the indexer.
2533
2534 2002-08-05  Patrik Torstensson <ptorsten@hotmail.com>
2535
2536         * HttpApplication.cs: Implemented a state machine to allow handling of
2537         HttpModules and HttpHandlers. Implementation of async handlers. 
2538                                                                  
2539         * HttpApplicationFactory.cs: Factory for creating HttpApplication
2540         instances, including caching.
2541         
2542         * HttpRuntime.cs: Usage of the new HttpApplicationFactory to get a
2543         application instance to execute requests in and implementation of 
2544         request execution (still no request queue). 
2545                                                          
2546         * HttpAsyncResult.cs: New file to handle async module results.                                          
2547                                                          
2548         * HttpRequest.cs: Change signature of Dispose
2549         * HttpResponse.cs: new internal method allowing filtering to happen
2550         during the request flow in the state machine.
2551
2552 2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2553
2554         * HttpApplication.cs: events were not being initialized.
2555
2556 2002-07-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2557
2558         * ProcessModelInfo.cs: fixed compilation.
2559
2560 2002-07-25  Tim Coleman <tim@timcoleman.com>
2561         * ProcessModelInfo.cs:
2562                 New class added
2563         * HttpParseException.cs:
2564         * HttpCompileException.cs:
2565         * HttpUnhandledException.cs:
2566                 Internal constructors added to these
2567
2568 2002-07-24  Tim Coleman <tim@timcoleman.com>
2569         * ProcessInfo.cs: 
2570                 Fix constructor, reference to shutdownreason.
2571
2572 2002-07-24  Tim Coleman <tim@timcoleman.com>
2573         * HttpCachePolicy.cs:
2574                 Added stubbs to this class.
2575         * HttpCacheability.cs:
2576         * HttpCacheRevalidation.cs:
2577         * HttpValidationStatus.cs:
2578         * ProcessShutdownReason.cs:
2579         * ProcessStatus.cs:
2580         * TraceMode.cs:
2581                 Reorder the enumerations (and in some cases make
2582                 one-based) in order to agree with the .NET 
2583                 implementation, based on the class status page.
2584         * ProcessInfo.cs:
2585                 Implementation of this class.
2586
2587 2002-07-23  Tim Coleman <tim@timcoleman.com>
2588         * HttpCompileException.cs:
2589         * HttpParseException.cs:
2590         * HttpUnhandledException.cs:
2591                 New stubbs created.
2592         * HttpApplication.cs:
2593         * HttpBrowserCapabilities.cs:
2594                 Added missing methods stubbs and attributes based
2595                 on the class status page.  Also reformatted some
2596                 source for consistency.
2597
2598 2002-07-23  Tim Coleman <tim@timcoleman.com>
2599         * HttpUtility.cs: Moved entities hashtable into main
2600                 class as a static object, so we don't instantiate
2601                 a new one every time.  Also put the hashtable
2602                 building into a lock block.
2603
2604 2002-07-22  Tim Coleman <tim@timcoleman.com>
2605         * HttpUtility.cs: Cleanup of the code, implementation
2606                 of HtmlDecode/HtmlEncode functions
2607
2608 2002-07-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2609
2610         * HttpResponse.cs: quick&dirty hack to make redirection work. Should
2611         be out of there once we have SimpleWorkerRequest.
2612
2613 2002-07-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2614
2615         * HttpUtility.cs: little typo, big headache.
2616
2617 2002-07-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2618
2619         * HttpRuntime.cs: don't throw NotImplemented in a couple of methods.
2620
2621 2002-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2622
2623         * System.Web/HttpResponse.cs: 
2624
2625         Fixes based on class status page:
2626         
2627                 - Add attributes (DefaultEvent, ParseChildren).
2628                 - Fix declarations.
2629                 - Explicitly implement some interfaces (IPostBackDataHandler
2630                 and IPostBackEventHandler).
2631                 - Implemented some missing methods.
2632
2633 2002-06-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2634
2635         * HttpContext.cs:
2636         (Session): return null instead of throwing an exception.
2637
2638         * HttpRequest.cs:
2639         (HttpMethod): return RequestType if not set.
2640         (GetRawContent): return QueryString if we don't have a
2641         HttpWorkerRequest.
2642
2643         * HttpUtility.cs: fixed Decode and Encode.
2644
2645 2002-06-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2646
2647         * HttpApplication.cs:
2648         * HttpContext.cs: added System.Web.SessionState namespace.
2649
2650         * HttpSessionState.cs: removed. It is under
2651         System.Web.SessionState.
2652
2653 2002-06-10  Duncan Mak  <duncan@ximian.com>
2654
2655         * HttpBrowserCapabilities.cs (BackgroundSounds): Fixed typo.
2656
2657 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2658
2659         * HttpRequest.cs: implemented Browser property.
2660
2661 2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2662
2663         * HttpBrowserCapabilities.cs: stubbed out.
2664
2665 2002-05-18  Miguel de Icaza  <miguel@ximian.com>
2666
2667         * HttpRuntime.cs: Reformat file.
2668
2669 2002-05-07  Duncan Mak  <duncan@ximian.com>
2670
2671         * HttpBrowserCapabilities.cs: Added, replacing
2672         HttpBrowserCapabilites because of typo.
2673
2674         * HttpBrowserCapabilites.cs: Removed, replaced by above.
2675
2676         * HttpRequest.cs (Browser): Fixed typo.
2677
2678 2002-04-12  Patrik Torstensson <patrik.torstensson@labs2.com>
2679
2680         * HttpApplication.cs: Minor updates
2681         * HttpApplicationState.cs: Ready.
2682         * HttpClientCertificate.cs: Signature updates
2683         * HttpValueCollection.cs: ready
2684         * HttpStaticObjectsCollection.cs: ready
2685         * HttpResponseHeader.cs: made internal only
2686         * HttpResponse.cs: Signature updates
2687         * HttpPostedFile.cs: ready
2688         * HttpCacheVaryByHeaders.cs: ready (except communication to policy)
2689         * HttpCacheVaryByParams.cs: ready (except communication to policy)
2690         
2691         System.Web is now over 60% ready.. 
2692
2693 2002-04-11  Patrik Torstensson <patrik.torstensson@labs2.com>
2694
2695         * HttpException.cs: 95% ready, only windows dependent code left
2696         * HttpFileCollection.cs: Finished.
2697         * HttpRequest.cs: Minor fixes and fixed signature problems
2698         * HttpResponse.cs: Implementation of missing methods and signature problems
2699         * HttpResponseHeader.cs: Fixed signature problems
2700         * HttpRuntime.cs: Fixed signature problems
2701         * HttpServerUtility.cs: Added support for HttpApplication
2702         * HttpSessionState.cs: Fixed signature issues
2703         * HttpUtility.cs: fixed signature issues
2704         * HttpValueCollection.cs: Support for cookie parsing and fixed signature issues
2705         * HttpWorkerRequest.cs: Fixed small signature issue
2706         * HttpWriter.cs: Fixed signature issue
2707         * HttpApplication.cs: Basic implementation
2708         * HttpApplicationState.cs: Small fixes to support major change comming up
2709         * HttpBrowserCapabilities.cs: Added Type method
2710         * HttpClientCertificate.cs: Almost ready, needs to parse certificate.
2711         * HttpContext.cs: Fixed signature issues and added last methods.
2712         * HttpCookie.cs: Full implementation
2713         * HttpCookieCollection.cs: Full implementation
2714         * TraceContext.cs: Methods implemented.
2715         * HttpPostedFile.cs: Placeholder
2716         * HttpStaticObjectsCollection.cs: Placeholder
2717         * HttpModuleCollection.cs: Ready, will be used during the major revamp.
2718         
2719         * Fixed a number of other small signature problems also (class status page)
2720         
2721         
2722 2002-04-10  Patrik Torstensson <patrik.torstensson@labs2.com>
2723
2724     * HttpWorkerRequest.EndOfSendNotification.cs Removed (included in WorkerRequest)
2725     * Checkin of all new files (noted in last changenote)
2726
2727 2002-04-10  Patrik Torstensson <patrik.torstensson@labs2.com>
2728
2729     * HttpContext.cs: First implementation (basic support, few methods left to impl)
2730     * HttpException.cs: Partial implementation (basic support)
2731     * HttpHelper.cs: Header parse helper, used by runtime (non public)
2732     * HttpRequest.cs: Implementation (all methods there, not all fully impl)
2733     * HttpRequestStream.cs: Full implementation
2734     * HttpResponse.cs: Partial implementation(almost all methods)
2735     * HttpResponseHeader.cs: Header helper
2736     * HttpResponseStream.cs: Full implementation - Response stream support
2737     * HttpResponseStreamProxy.cs: Implementation - filter support
2738     * HttpRuntime.cs: Rewrite to support one IHttpModule (use for testing the runtime)
2739         * HttpServerUtility.cs: Implemented usage of HttpContext for methods
2740                                 and moved encoding functions to HttpUtility.
2741
2742     * HttpUtility.cs: Added encoding/decoding functions from HttpServerUtility and
2743                       added the Attribute encoding functions.
2744
2745     * HttpValueCollection.cs: Implementation.
2746     * HttpWorkerRequest.cs: Rewrite and implementation of all methods (ready)
2747     * HttpWriter.cs: Implementation (with filter support)    
2748
2749     * HttpFileCollection: Added dummy class (placeholder)
2750     * HttpApplication.cs: Added dummy class (placeholder)
2751     * HttpApplicationState.cs: Added dummy class (placeholder)
2752     * HttpBrowserCapabilities.cs: Added dummy class (placeholder)
2753     * HtttpCachePolicy.cs: Added dummy class (placeholder)
2754     * HttpClientCertificate.cs: Added dummy class (placeholder)
2755     * HttpSessionState.cs: Added dummy class (placeholder)
2756     * TraceContext.cs: Added dummy class (placeholder)
2757     
2758
2759 2002/04/10  Nick Drochak <ndrochak@gol.com>
2760
2761         * HttpServerUtility.cs: Fix build breaker.
2762
2763 2002-03-28  Wictor Wiln  <wictor@iBizkit.se>
2764
2765         * HttpServerUtils.cs : Added some more functionality
2766         
2767 2002-03-28  Martin Baulig  <martin@gnome.org>
2768
2769         * HttpServerUtils.cs (UrlDecode): You cannot implicitly cast a
2770         char to a string, use ToString() instead.
2771
2772 2002-03-16  Gaurav Vaish  <gavish@iitk.ac.in>
2773
2774         * WebCategoryAttribute.cs
2775                                : Added private attribute.
2776
2777 2002-03-16  Gaurav Vaish  <gavish@iitk.ac.in>
2778
2779         * HttpRuntime.cs       : Stubbed methods for
2780                   FormatStringResource(...) in agreement with the various
2781                   overloads available at String.Format(...)
2782
2783 2002-01-08  Gaurav Vaish  <gavish@iitk.ac.in>
2784
2785         * TODOAttribute.cs     : Added, as an internal class to the assembly
2786
2787 2002-01-03  Nick Drochak  <ndrochak@gol.com>
2788
2789         * HttpRuntime.cs: remove uneeded exception variable from catch and
2790         initialize remaining instance members to avoid compile warnings
2791
2792 2002-01-02  Nick Drochak  <ndrochak@gol.com>
2793
2794         * HttpRuntime.cs: fix spelling error/variable name change.
2795
2796 2001-12-18  Gaurav Vaish <gvaish@iitk.ac.in>
2797
2798         * HttpRuntime.cs       : Initial implementation
2799
2800 2001-08-29  Bob Smith  <bob@thestuff.net>
2801
2802         * HttpWorkerRequest.cs: Partial Implementation.
2803
2804 2001-08-16  Bob Smith  <bob@thestuff.net>
2805
2806          * HttpCookieCollection.cs, HttpCookie.cs: Bug fixes.
2807
2808 2001-08-09  Bob Smith  <bob@thestuff.net>
2809
2810          * BeginEventHandler.cs: Implemented.
2811          * EndEventHandler.cs: Implemented.
2812          * HttpCacheability.cs: Implemented.
2813          * HttpCacheRevalidation.cs: Implemented.
2814          * HttpCacheValidateHandler.cs: Implemented.
2815          * HttpCookieCollection.cs: Implemented.
2816          * HttpCookie.cs: Implemented.
2817          * HttpValidationStatus.cs: Implemented.
2818          * HttpWorkerRequest.EndOfSendNotification.cs: Implemented.
2819          * IHttpAsyncHandler.cs: Implemented.
2820          * IHttpHandler.cs: Implemented.
2821          * IHttpHandlerFactory.cs: Implemented.
2822          * IHttpModule.cs: Implemented.
2823          * ProcessShutdownReason.cs: Implemented.
2824          * ProcessStatus.cs: Implemented.
2825          * TraceMode.cs: Implemented.