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