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