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