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