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