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