* HttpResponse.cs: Actually apply an app path modifier in
[mono.git] / mcs / class / System.Web / System.Web / ChangeLog
index 9d94d7d685ffd473b20ac9f1f7a7550c4fe31f05..d83ed4e500f13ff11e7bb8bb5f704b859de4b4a6 100644 (file)
@@ -1,3 +1,598 @@
+2003-12-03  Jackson Harper <jackson@ximian.com>
+
+       * HttpResponse.cs: Actually apply an app path modifier in
+       ApplyAppPathModifer and add a method to set the app path modifier.
+       * HttpRequest.cs: Add utility method for setting a request header.
+       
+2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: handle FileNotFound and DirectoryNotFound
+       exceptions when creating the handler to generate a better error page.
+
+       * HttpException.cs: display the http_code if available.  Changed all
+       \n by \r\n to make the hidden stack trace readable.
+       
+       * StaticFileHandler.cs: don't send the real path in th eerror.
+
+2003-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpContext.cs: updated GetConfig and GetAppConfig to new API.
+       
+       * HttpResponse.cs: separate initialization of the HttpWriter, as it
+       tries to read configuration settings while the config. system is not
+       available (ie, before the first request).
+       
+       * HttpRuntime.cs: delayed queueManager and response writer
+       initialization until the configuration system is working.
+
+2003-11-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRuntime.cs: added request queue handling.
+
+       * QueueManager.cs: simple request queue.
+       
+       * TimeoutManager.cs: added some locks to prevent the enumerator used in
+       CheckTimeouts to be out of synch.
+
+2003-11-25  Jackson Harper <jackson@ximian.com>
+
+       * HttpStaticObjectsCollection.cs: Add methods for serialization
+       and conversion to/from byte arrays.
+       
+2003-11-21  Jackson Harper <jackson@ximian.com>
+
+       * HttpResponse.cs: When caching data set the content length in the
+       cached repsonse so that only that amount will be written back to
+       the client. Add method to write a range of binary data.
+       * HttpCacheVaryByParams.cs: Add method to retrieve param names.
+       
+2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs:
+       * HttpContext.cs:
+       * HttpRuntime.cs: add timeout handling.
+       * TimeoutManager.cs: new class that takes care of aborting threads on
+       timeout.
+
+2003-11-19  Jackson Harper <jackson@ximian.com>
+
+       * HttpWriter.cs: Use a constant for the buffer size so the cache
+       can get the buffer size. Add method to get the buffer.
+       * HttpResponse.cs: Methods for getting data to cache, and setting
+       vars from the cache.
+       * HttpCachePolicy.cs: Expose a pages cache expire time.
+       
+2003-11-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: 
+       * HttpWriter.cs: some fixes to allow closing a response stream without
+       messing the rest.
+
+2003-11-13  Jackson Harper  <jackson@ximian.com>
+
+       * HttpCachePolicy.cs: Make sure cacheability and maxage get
+       set. Add method to set Http response header data
+       * HttpCacheVaryByParams.cs: Add method to create a response header.
+       * HttpCacheability.cs: Add ServerAndPrivate and ServerAndNoCache.
+       * HttpResponse.cs: Set cache headers.
+       
+2003-11-11 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * HttpModuleCollection.cs (GetKey): Recursion, again!
+
+2003-11-11 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * HttpClientCertificate.cs (ValidUntil): recursion!
+
+2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * SiteMapNode.cs (GetDataSourceView): Implement.
+       * SiteMapProvider.cs: Typo fixing.
+       * XmlSiteMapProvider.cs: We shouldnt resolve here.
+       
+2003-11-08 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * SiteMap.cs (Init): implement a hack that doesnt need the config
+       stuff. Should do that later.
+       * SiteMapNodeCollection (OnValidate): Fix recursion.
+       * SiteMapProvider.cs: We dont implement some culture stuff work
+       around it. Fix typo.
+       * XmlSiteMapProvider.cs: Added.
+       
+2003-11-07 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * ISiteMapProvider.cs:
+       * SiteMap.cs:
+       * SiteMapNode.cs:
+       * SiteMapNodeCollection.cs:
+       * SiteMapProvider.cs:
+       * SiteMapProviderCollection.cs: V2 sitemap related stuff.
+
+2003-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: don't attempt to read more bytes than specified
+       content length.
+
+2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs:
+       * HttpResponse.cs:
+       * HttpUtility.cs:
+       * HttpValueCollection.cs: encoding fixes/updates.
+
+       * HttpWriter.cs: when updating the encoding, flush the existing stream.
+       Encoding updates.
+
+2003-11-04 Ben Maurer  <bmaurer@users.sourceforge.net>
+
+       * HttpContext.cs (IsCustomErrorEnabled): dont throw exception, just
+       return false (which makes sense, as the custom errors *arent* enabled;
+       ie they dont work.
+       * HttpResponseStream.cs: you actually can write with len = 0
+
+2003-11-03 Jackson Harper <jackson@ximian.com>
+
+       * HttpResponse.cs (ContentEncoding): Throw
+       ArgumentNullException. Patch by Yaron Shkop.
+       
+2003-10-30  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
+
+       * HttpMultipartContentParser.cs : Quick fix for cygwin build. 
+         CSC complains that constant char cannot be casted as byte.
+
+2003-10-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: added AssemblyLocation property.
+
+2003-10-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: use NoParamsInvoker.
+       * HttpRequest.cs: support request filters.
+       * HttpRequestStream.cs: mono-stylized and added new Set method.
+
+       * NoParamsInvoker.cs: proxy class to invoke user-provided methods
+       without parameters that are invoked by EventHandlers.
+
+2003-10-13  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HttpResponse.cs: Changed harcoded switch to en-US culture to a switch
+         to invariant culture.
+
+2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs:
+       * HttpServerUtility.cs: change the response writer in Execute. Thanks
+       to Rich Alimi <rich@velvetsea.net> for noticing this.
+
+2003-10-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: support for wiring up events without
+       parameters.
+
+2003-10-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpUtility.cs: small memory usage reduction.
+
+2003-10-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: pass the Uri, not the file path to
+       when looking for a handler.
+
+2003-09-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: small fix needed when reading big POST data.
+
+2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HttpRequest.cs: Url property: use GetLocalAddress() to get the address
+         (this will get the address from the request headers).
+
+2003-09-04  Lluis Sanchez Gual <lluis@ximian.com>
+
+       * HttpServerUtility.cs: In Transfer(), preserve the query string if
+         told to do so.
+
+2003-08-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: ensure we do all the EndRequest steps. Don't
+       filter the output on error.
+       
+       * HttpResponse.cs: modified DoFilter to allow bypassing filtering.
+
+2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: when the request is completed or an
+       error happens, execute all the delegates attached to EndRequest, not
+       only the last one. This makes xsp/test/authtest work again.
+       
+       * HttpMethodNotAllowedHandler.cs: fixed description for http
+       status code.
+
+2003-08-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: quick way of checking that the path is within the
+       root for the application. Thanks to Johannes for reporting.
+       
+       * HttpRuntime.cs: use the status code from teh exception when it'ss a
+       HttpException.
+
+       * StaticFileHandler.cs: forbidden is 403.
+
+2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpServerUtility.cs: fixed path and query. Path by Rich Alimi
+       <rich@velvetsea.net>.
+
+2003-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpException.cs: make the unhandled error more like the MS one.
+       * HttpRuntime.cs: set a 500 error code on unhandled exceptions.
+
+2003-08-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: flush headers when the body length is 0.
+       * StaticFileHandler.cs: added If-Modified-Since handling patch slightly
+       modified from the original by Piers Haken <piersh@friskit.com>.
+
+2003-08-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: another patch from totte and me. This one prevents
+       writing output if the client have disconnected and filters the data
+       when there's a non-final Flush in the middle of the process.
+
+2003-08-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: fixed typos. Closes bug #44197.
+
+2003-08-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs:
+       * HttpApplicationFactory.cs: fix duplicate application OnStart events.
+
+       Patch by Patrik Torstensson.
+
+2003-08-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: use the correct Delegate.CreateDelegate
+       overload. The previous one only admits static methods.
+
+2003-08-01  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * ProcessModelInfo.cs: Fixed signature
+
+2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * WebCategoryAttribute.cs: Implemented localization
+       * WebSysDescriptionAttribute.cs: Implemented localization
+
+2003-07-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRuntime.cs: also clear the headers that may have been set upon
+       error processing the request.
+
+2003-07-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponseStreamProxy.cs: reformatted. Fixed infinite recursion in
+       Write method.
+
+       * HttpWriter.cs: flush the filter after writing.
+
+2003-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpWriter.cs: avoid duplicating the MemoryStream byte buffer.
+
+2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpContext.cs: Session doesn't have a setter.
+
+       * HttpResponse.cs: Request is private.
+
+2003-07-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: fixed Headers property. It was getting known headers
+       values instead of known headers names.
+
+2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: prevent nullref if an error happens before context
+       is set.
+       * HttpException.cs: small fix in the stack trace sent.
+       * HttpUtility.cs: the lock is not needed.
+
+2003-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: added REMOTE_PORT.
+       * HttpValueCollection.cs: fixed bug #45490.
+
+2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs:
+       * HttpApplicationFactory.cs: fire application start and session
+       start/end events.
+
+2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpException.cs: encode as HTML the inner exception that
+       is appended as a comment at the end of error pages.
+
+2003-05-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpWriter.cs: don't do anything in Flush. Fixes #42249.
+
+2003-05-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HtmlizedException.cs: added more virtual methods.
+
+       * HttpException.cs:  some work on the output when there's a source
+       file present.
+
+2003-04-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HtmlizedException.cs: simplified to cope with the new interface.
+
+       * HttpApplicationFactory.cs: use the application file parser to get the 
+       application Type.
+       
+       * HttpException.cs: small changes. Needs some more work on
+       ParseExceptions.
+       
+2003-03-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: fixed Url property.
+
+2003-03-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HtmlizedException.cs:
+       * HttpException.cs: display the correct line number in error messages.
+
+2003-03-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpCachePolicy.cs: implemented all TODOs.
+       * HttpRequestStream.cs: make it internal.
+
+2003-03-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpContext.cs: implemented RewritePath in other way.
+       * HttpRequest.cs: removed SetPhysicalPath and added SetForm.
+       * HttpServerUtility.cs: implemented Transfer (string, bool).
+
+2003-03-16  Daniel Lopez Ridruejo <daniel @ rawbyte.com>
+       * HttpContext.cs : Implemented RewritePath
+       * HttpRequest.cs : Added internal function SetPhysicalPath
+
+2003-03-14  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpServerUtility.cs: implemented Transfer ().
+
+2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRuntime.cs: Cache no longer have a Dispose method.
+
+       * HttpServerUtility.cs: removed MonoTODO.
+
+2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpHelper.cs: store the values in an ArrayList to get them in correct
+       order.
+
+2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: Global.asax takes precedence over
+       global.asax if it exists.
+
+       * HttpRequest.cs: use allowCrossAppMapping in MapPath.
+
+2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: CreateHttpHandler is now internal.
+
+       * HttpRequest.cs: allow setting QueryStringRaw, which
+       invalidates the data obtained from the previous value. Added internal
+       SetFilePath method.
+
+       * HttpServerUtility.cs: implemented Execute and GetLastError.
+
+2003-02-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpServerUtility.cs: style.
+
+2003-02-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: only execute the EndRequest step on error
+       condition or request marked as completed. This prevent page events from
+       being called when, for example, the url authorization module forbids
+       the request.
+
+2003-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: implemented the indexer.
+
+2003-02-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HtmlizedException.cs: base class for exceptions that makes it easy to
+       generate error pages.
+
+       * HttpException.cs: improved error displaying.
+
+       * HttpRuntime.cs: removed debugging output.
+
+2003-02-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: display the error instead of hanging when we get
+       any error before the last step of the request.
+
+2003-02-04  Tim Haynes <thaynes@openlinksw.com>
+
+       * HttpApplicationFactory.cs: fixed HttpRuntime.Close() to decrement
+       instance counter.
+
+2003-01-29  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: added BaseVirtualDir property and use it in MapPath.
+
+2003-01-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: implemented CurrentExecutionFilePath.
+
+2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: keep _lasterror if no context. Attach
+       application events *after* modules initialization (if not, User is not
+       set when the user handler is called).
+       
+       * HttpApplicationFactory.cs: made all methods related to
+       AttachEvents static. I will fix OnStart/OnEnd for application and
+       session later.
+       
+       * HttpRequest.cs: don't initialize cookies twice.
+
+2003-01-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs:
+       (ApplyAppPathModifiers): return the root directory for "".
+
+2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpUtility.cs: fixed HtmlDecode to avoid ArgumentOutOfRangeException.
+
+2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: added new state to handle default authentication.
+
+2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpContext.cs: removed hack to get the User.
+
+2003-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpUtility.cs: fixed bug #36038. Thanks to juancri@tagnet.org for
+       reporting the bug and how to fix it.
+
+2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpCookie.cs: send 'expires' in the header.
+
+2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpValueCollection.cs: patch from Botjan Vizin 
+       <bostjan.vizin@siol.net> that implements ToString (bool).
+
+2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: add the context as parameter when building
+       the application Type.
+       
+       * HttpCookie.cs: new internal constructor.
+       * HttpCookieCollection.cs: new internal method to make a cookie expire.
+
+       * HttpRequest.cs: MapPath fixes.
+       * HttpResponse.cs: implemented ApplyAppPathModifier.
+       * HttpRuntime.cs: fixed typo in AppDomainAppVirtualPath.
+
+2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpContext.cs: hack to create a default user when there's no one.
+       Implemented GetConfig (string).
+
+       * HttpRequest.cs: fixes to MapPath (string).
+
+2002-12-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRuntime.cs: avoid nulls and exception when getting resource
+       format strings.
+
+       * StaticFileHandler.cs: added file name to error message.
+
+2002-12-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: avoid sending chunked content for HTTP/1.1.
+
+2002-12-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: get the events from the application class,
+       fire Application/Session Start/End and add the others as application
+       events.
+
+2002-11-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplicationFactory.cs: compile global.asax file if it exists.
+
+2002-11-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: provide a default Browser until we detect it.
+       * HttpResponse.cs:
+       (End): do not close the connection here.
+       (Flush (bool)): send the headers when, for example, Redirect () is
+       called.
+
+2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpException.cs: simple error output.
+
+2002-11-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: style.
+       * HttpException.cs: style.
+       * HttpRuntime.cs: only flush the response if there are no errors.
+       Otherwise, write an error output.
+       * HttpWriter.cs: change Unicode to UTF8.
+
+2002-11-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: don't begin the request using ExecuteNextAsync
+       (it fails to work on NetServ).
+
+       * HttpWorkerRequest.cs: typo.
+
+2002-11-07  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpValueCollection.cs: the value may contain trailing '=' as it is
+       UrlEncoded. Don't split name=value based on '='.
+
+2002-11-02  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpCookie.cs: made GetCookieHeader internal.
+
+       * HttpRequest.cs: get cookies from request.
+
+       * HttpResponse.cs: send cookies. Implemented
+       AddFileDependencies (). Added check for _Writer == null in Flush
+       (Patrik ;-). Clear the content if HEAD or SupressContent == true.
+       Removed redirect hack used in old server.
+
+2002-10-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpRequest.cs: fixed GetRawContent (). Now it only tries to read at
+       most ContentLength bytes.
+
+       * HttpResponse.cs: now it sends the headers. Added
+       X-Powered-By header :-).
+
+       * HttpRuntime.cs: fixed typo.
+
+       * HttpValueCollection.cs: cosmetic changes.
+
+2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: reenabled a few lines of code
+       (ThreadPool already fixed). 
+       
+       * HttpRequest.cs:
+       * HttpResponse.cs:
+       * HttpUtility.cs:
+       * HttpValueCollection.cs:
+       * HttpWriter.cs: Use WebEncoding.Encoding.
+
+2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpWriter.cs: changed encoding of the writer from Unicode to UTF8.
+       This fixes sending bytes and allows mixing byte with chars.
+
+2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpResponse.cs: implemented WriteFile methods.
+       * MimeTypes.cs: removed duplicated entries.
+
 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * HttpResponse.cs: don't throw exception in a couple of