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