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