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