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