Apache2-ASP
view release on metacpan or search on metacpan
2.41 2009-10-14
- Bugfix: Errors will now appear on-screen, rather than the default Apache error.
2.40 2009-10-14
- Enhancement: multipart/form-data posts to MediaManagers no longer require
actual files to be uploaded. Useful for forms that have an optional file upload field.
2.39 2009-08-23
- Bugfix: Deeply-nexted MasterPage setups sometimes did not initialize the
intrinsic ASP objects in the root-most MasterPage ($Response, $Session, etc).
2.38 2009-08-09
- Bugfix: $Response->Redirect in a handler after $Response->TrapInclude gave
errors "Response.Status cannot be changed after headers have been sent" (this
is now fixed).
2.37 2009-06-10
- API change: Upload hooks are deprecated and all but disabled.
- Bugfix: The upload_start event was not getting called for UploadHandler or its subclasses.
2.37_03 2009-05-19
- Bugfix: On Apache2 under Gentoo (perhaps others as well) HTTPContext->send_headers
was not always called before content was written to the client. This caused
cookies and other headers to not get written to the client.
2.37_02 2009-05-14
- Uploads' filehandle was not closed, causing problems where the last few bytes
were not flushed to disk.
2.37_01 2009-05-13
- Working on removing the dependency on libapreq2. It is just too much pain.
- Several minor fixes and performance tweaks.
2.36 2009-03-21
- MediaManager updates. pnotes has proven unstable.
- Upgraded to Module::Install.
- Restructured tests into numerically sequential folders.
- Added several tests to improve code-coverage.
- Removed some unused code from Response.
- Server.URLDecode now does the Right Thing for utf-8 characters.
- Added 'encoding' from 'Encode' as a prerequisite.
2.35 2009-03-11
- Minor updates here and there.
2.34 2009-03-03
- Was setting content-length header twice in MediaManager.
2.33 2009-03-03
- HTTP headers out were having issues.
2.32 2009-03-01
- Added Apache2::ASP::HTTPContext::SubContext
- Added t/htdocs/subcontext/*.asp
- Added t/handlers/simple.pm
- Re-worked the way Response.Include and Response.TrapInclude work on the inside.
- No external changes were made.
2.31 2009-02-19
- Apache2::ASP::HTTPContext order of operations during setup_request was updated.
- Apache2::ASP::ModPerl returns proper error HTTP codes when errors occur.
- Requests for non-existent *.asp scripts returns a proper 404.
- Apache2::ASP::HTTPContext copes better with syntax errors in handlers.
- Missing handlers are coped with better now.
2.30 2009-02-19
- Apache2::ASP::ASPPage was misreporting line numbers.
2.29 2009-02-15
- Added Apache2::ASP::SessionStateManager::Memcached
- Added Apache2::ASP::ApplicationStateManager::Memcached
- Both Memcached state managers require Cache::Memcached.
- Fixed a few outgoing HTTP header bugs which prevented Safari from handling
$Response->Redirect behaviors properly, and caused LWP::UserAgent to give
warnings about 'got EOF when chunk expected' and "x-client: died" errors.
- Added Apache2::ASP::HTTPContext::FilterResolver
- Added Apache2::ASP::HTTPContext::HandlerResolver
- Added Apache2::ASP::HTTPContext::HandlerRunner
- Major refactoring of Apache2::ASP::HTTPContext
2.28 2009-02-12
- Refactored a few things causing big slowdowns. Devel::NYTProf++!
2.27 2009-02-09
- Typo in ConfigParser.pm
2.26 2009-02-09
- Forgot the *::NonPersisted state managers in the MANIFEST
2.25 2009-02-09
- Added <disable_persistence> element to the XML config. Disabling persistence
for high-traffic pages is sometimes necessary and/or desirable.
2.24 2009-02-03
- Narrowed the search for leaked open filehandles to Apache2::ASP::SimpleCGI
when handling a file upload in test/API mode. Added DESTROY handler to close
any remaining filehandles when the object goes out of scope.
2.23 2009-02-01
- "Too many open filehandles" error was popping up. Attempting to use IO::File
to solve this problem.
- Added IO::File as a prerequisite file.
2.22 2009-01-31
- Apache2::ASP::MediaManager was misbehaving when attempting to delete a file
no longer on disk.
2.21 2009-01-31
- Apache2::ASP::MediaManager was incorrectly printing the content-disposition
header, causing some browsers to append an extra "," to the end of filesnames
when they were downloaded.
2.20 2009-01-30
- Fixed documentation for Apache2::ASP::Mock::Connection
2.19 2009-01-30
- Fixed documentation for Apache2::ASP::Test::Base.
2.18 2009-01-29
- Added a lot more documentation.
- Fixed another issue with nested MasterPages which caused the parser to
not interpret all <asp:ConentPlaceHolder /> tags (when there were more than one)
inside of an <asp:Content /> in a nested MasterPage. I suppose you really
had to be there.
- Added tests to check for these problems with nested MasterPages.
2.00_24 2008-11-19
- Added Apache2::ASP::Manual::BestPractices.
2.00_23 2008-11-19
- Added asphelper.
- Moved asphelper and runasp into the sbin/* directory in the distribution.
- Added Test::Memory::Cycle to the PREREQ_RPM list in Makefile.PL
- Fixed a (hopefully) rare corner-case in which thaw($Application) would return
undef - the solution was to default to an empty hashref { }.
- Fixed a but in ASPPage in which empty asp:ContentPlaceHolder tags in MasterPages
caused the "%s does not define an asp:ContentPlaceHolder with an id of %s" error
even for legitimate child pages.
- Added Apache2::ASP::ConfigNode::System::Settings.
- $Config->system->settings->someSettingName works as expected.
- foreach $hashref ( $Config->system->settings ) { } now works as expected.
- Added more tests to t/01.03-configloader.t for config testing (by no means complete).
2.00_22 2008-10-10
- Fixed a bug which caused GlobalASA to not initialize properly.
2.00_21 2008-11-10
- Minor adjustments.
- Added some documentation.
2.00_20 2008-11-07
- Added missing file t/lib/My/ErrorHandler.pm to MANIFEST.
2.00_19 2008-11-07
- Added some /Manual/* documentation.
- HTTPContext now correctly traps "unhandled tag" errors.
2.00_18 2008-11-05
- New *.pm files in the PAGE_CACHE are chmod 0666.
- Added ErrorHandler. By default, it prints a stacktrace to the browser and
sends a copy to the email address specified in the <errors> config.
- Added <errors> section to config.
- Updated configuration DTD for <errors> section.
- Apache2::ASP::ModPerl now correctly returns a 0 value and sets $r->status.
- $Server->RegisterCleanup references the correct Apache2::RequestRec object.
- Added "runasp," the command-line interface to run ASP scripts.
2.00_17 2008-11-04
- Fixed a bug which caused Apache2::ASP::Test::UserAgent to not get the
output buffer content from the correct Mock request object (meaning that
$s->ua->get('/url.asp')->content was always empty.
- Added test to make sure that the above fix stays in place.
- Internal changes within HTTPContext WRT self-hash-notation upgraded to get_prop().
2.00_16 2008-11-03
- ASPPage mkdir's each missing part of the page cache.
- ConfigParser correctly handles configs that don't specify any request filters.
- Re-included Apache2::ASP::TransHandler, albeit with different semantics.
2.00_15 2008-11-01
- XML Config file schema updated - (settings, env_vars) to support DTD validation.
- DTD for XML Config is now included.
2.00_14 2008-10-31
- If querystring or form data contains multiple values for the same parameter,
that parameter will become an arrayref of values.
- Multiple config post-processors can be defined in the config XML file. They
will be executed in the order they are listed in the config XML file.
- Nested master pages are now supported.
2.00_13 2008-10-30
- Each upload form submission should now include a unique "uploadID=xxx" value.
- Multiple concurrent uploads from the same user under the same session are
now supported because of the uploadID=xxx logic.
2.00_12 2008-10-29
- (handler)->init_asp_objects( $context ) was not getting called correctly.
2.00_11 2008-10-29
- ASPPage updated so that pages containing "~" in their text will not cause
syntax errors after being parsed.
- File uploads are handled correctly by ModPerl, UploadHandler and MediaManager.
2.00_10 2008-10-26
- Server.RegisterCleanup(\&subref, \@argref) now fires both from the command-line
and within an actual mod_perl environment.
2.00_09 2008-10-24
- Pages that use MasterPages are now executed with the correct @_.
- Added Apache2::ASP::FormHandler again.
2.00_08 2008-10-23
- Apache2::ASP::Apache creates a new HTTPContext from the correct class/subclass now.
- Source code is filtered with: s/(\$Response\->End)/return $1/sg;
2.00_07 2008-10-22
- Adjustments to HTTPContext to better support massive stack-depths of "inner" HTTPContexts.
2.00_06 2008-10-22
- Tweaks in ApplicationStateManager and SessionStateManager to avoid a transaction
race condition.
- Config initializes itself (rather than the HTTPContext doing it).
- Config is now cached in memory on a per-process, per-disk-path basis.
2.00_05 2008-10-20
- Apache2::ASP::HTTPContext now handles final config initialization including
setting %ENV vars, @INC modifications and loading modules as specified
in the config xml file.
- Code Coverage: 70.50% (average:stmt+bran+cond+sub)
- Bugfix: Application->save was getting called at the beginning and end of
*every* request. This behavior has been fixed.
- Various minor tweaks, removing "vestigial" code chunks.
- Subclassing Apache2::ASP::HTTPContext is now possible.
- Syntax errors inside of includes are handled better.
2.00_04 2008-10-16
- Added missing files to MANIFEST.
- Added UploadHandler and MediaManager back to the distribution.
- Added some upload tests.
2.00_03 2008-10-16
- Added missing files to MANIFEST.
2.00_02 2008-10-15
- Partial page caching has been realized.
2.00_01 2008-10-15
- Complete rewrite.
!!!! BREAKING CHANGES !!!!
- XML Config file format is different! See docs for details!
- Apache Config file is different! See docs for details!
- Now "master pages" are supported a la ASP.Net (i.e. named placeholders).
- Session and Application are only saved to database if they have been changed
during the course of the request:
- Major performance increase. Using master pages instead of includes can
further increase performance.
- Basic tags support has been suspended for now.
- Removed dependency Datetime::Duration.
- Removed dependency Sys::Hostname.
1.59 2008-08-16
- Added missing file t/htdocs/virtualinclude.asp to the MANIFEST
so all tests should pass now.
1.58 2008-08-06
- Now <!-- #include virtual="/file.asp" --> and
<!-- #include file="/abs/path/to/file.asp" --> work as you might expect.
This means that Apache2::ASP will work nicely with DreamWeaver and other
popular WYSIWYG's that can parse that sort of include directive.
1.57 2008-08-06
- Removed POD for Request->Document. Server-side DOM will have to wait.
- New in this release is basic "Tags" support. See Apache2::ASP::Tag for details.
1.56_02 2008-08-02
- Added documentation for all Apache2::ASP::DOM::* classes.
1.56_1 2008-08-01
- Added preliminary support for "XMLSubs"-esque tags.
- Added preliminary (experimental) support for (!simple!) server-side DOM.
(**Does not merge $Response->Include()'ed DOM with parent DOM).
1.55 2008-07-13
- Apache2::ASP::SessionStateManager now uses the correct database connection.
This problem would only come up when multiple Apache2::ASP web applications
using different session data sources were running under the same Apache
instance.
- Ditto for Apache2::ASP::ApplicationStateManager.
1.54 2008-07-05
- Adjusted Apache2::ASP::MediaManager so that it will not unlink the /MEDIA
directory if someone attempts to delete a file and neglects to specify
which file should be deleted.
- Also updated Apache2::ASP::MediaManager to more gracefully handle missing
uploaded files.
1.53 2008-07-05
- Fixed a bug that caused Apache2::ASP::Config to die if no request filters
were specified within the <request_filters> element in the config file.
1.52 2008-06-18
- While using Apache2::ASP::Test::Base, $ENV{APACHE2_ASP_APPLICATION_ROOT}
is now persisted between requests. This means that if (somewhere else)
you set $ENV{APACHE2_ASP_APPLICATION_ROOT} in your code, it will persist
between requests.
1.51 2008-06-12
- Speed improvements, up to 100% faster now due to the following:
- Added XML::Parser as a requirement.
- Caching (in memory) Configuration data on a per-domain basis.
1.49 2008-05-29
- Memory leaks are now completely gone.
- Speed improvements (20% faster than v1.47).
1.48 2008-05-27
- $Request->Form returns a singleton hash for the duration of
a request. This means that modifications to the global $Form
object are available to other "areas" of your web application
for the rest of the same request.
1.47 2008-05-26
- $Request->QueryString('field') returns the querystring value for 'field'.
- $Request->QueryString returns $ENV{HTTP_QUERYSTRING}.
1.46 2008-05-21
- Apache2::ASP::MediaManager::before_download() must return true
before the filehandle is opened (for the file about to be downloaded).
- Apache2::ASP::MediaManager's before_delete() and after_delete() methods
are now also passed the full path to the file that is to be deleted.
1.45 2008-05-15
- Minor adjustments.
1.44 2008-05-14
- Minor speed improvements (20% faster).
- Miscellaneous fixes here and there.
1.43 2008-05-13
- Fixed some damaged documentation.
1.42 2008-05-13
- New media manager tests didn't make it in to the last release.
1.41 2008-05-13
- Apache2::ASP::GlobalConfig will now also look 1 level "up" from
the current working directory (retrieved from Cwd) for the
apache2-asp-config.xml file. This is important for when you have
(for example) an /sbin/ folder with asp-related scripts.
- Added method $Server->URLDecode( $str ).
- Minor tweaks to Apache2::ASP::MediaManager and Apache2::ASP::Test::UserAgent
to allow testing of MediaManager classes/handlers from the command-line.
- Added some missing POD for Apache2::ASP::Config and Apache2::ASP::Config::Node.
- Added tests for Apache2::ASP::MediaManager.
- Updated MANIFEST to include missing file t/lib/MyDBI.pm
1.36 2008-03-04
- Rewrote Apache2::ASP::Config and Apache2::ASP::GlobalConfig.
- Removed Apache2::ASP::PostConfigHandler.
- You no longer need to include the following in your httpd.conf:
PerlModule Apache2::ASP::PostConfigHandler
PerlPostConfigHandler Apache2::ASP::PostConfigHandler
- Minor speed improvements as a result of cleaner config logic.
1.35 2008-02-27
- Removed all references to "use CGI" to reduce memory footprint
and improve performance.
- Added Apache2::ASP::SimpleCGI for use by Apache2::ASP::Test::UserAgent.
- Added dependency HTTP::Body for Apache2::ASP::SimpleCGI to function.
1.34 2008-02-26
- Minor updates to Apache2::ASP::MediaManager.
- Added a workaround to Apache2::ASP::GlobalConfig for the
"internal dummy connection" issue.
More details at http://wiki.apache.org/httpd/InternalDummyConnection
1.33 2008-02-25
- Fixed a bug that caused the intrinsic ASP objects (Request, Response, etc)
to not be available at the right point in time for UploadHook subclasses
(including subclasses of MediaManager).
So now, calling $Response->Redirect(...) from sub after_create() will work.
1.32 2008-02-24
- Removed Application_OnStart and added Server_OnStart event to
GlobalASA.
- Added documentation to Apache2::ASP::Test::Base.
- Added documentation to Apache2::ASP::Test::Fixtures.
1.31 2008-02-20
- Added $Session->reset() method.
- Added Apache2::ASP::Test::Base.
- Added dependancy Data::Properties::YAML
- Added /etc/properties.yaml
- Added Apache2::ASP::Test::Fixtures.
- Added /etc/test_fixtures.yaml
- Fixed a bug in Apache2::ASP::Request that caused forms with multiple
values for the same parameter (i.e. 3 checkboxes named the same, but
with different values) to only return 1 value.
- Completely overhauled the test suite. No longer requires Apache::Test
and should run find as root. More tests are needed, but at least
what's there should run correctly.
- Fixed a bug in Apache2::ASP::Config that caused errors when a
Session or Application State Manager was not in @INC until
after the <settings> section had been initialized.
1.29 2008-02-06
- Fixed a bug that caused Response->Include to misbehave when used in
conjunction with RequestFilters.
1.28 2008-02-06
- Added $Response->Decline and changed the return value of $Response->End
and $Response->Redirect to 0 and 302 respectively.
- Now inside RequestFilters you can simply say 'return $Response->Declined'
or 'return $Response->Redirect("/mypage.asp")' to exit the RequestFilter.
- Documentation for RequestFilters and Response needs to be updated to
reflect this change.
1.27 2008-02-06
- Moved the <request_filters> config section under config/web_application
instead of config/web_application/settings.
1.26 2008-02-05
- Hotfix for config. Was crashing unless settings.request_filters was defined.
1.25 2008-02-05
- Added the concept of "Request Filters" as Apache2::ASP::RequestFilter. These
are useful for centralizing authorization code. Request Filters are stackable.
- Added config.web_application.settings.request_filters.filter and documented it in
the documentation for Apache2::ASP::RequestFilter.
- Request Filters will be considered experimental until v1.26 is released.
1.24 2008-01-17
- Fixes a problem with $Request->Cookies( $name ) that caused it to return undef
instead of the cookie's value.
- When Response->Include( $nonexistent_file ) is called, a simple diagnostic is
printed to the buffer ("Cannot Response.Include '$file' - the file does not exist")
and Carp::cluck dumps a stacktrace to STDERR.
- If $Response->End or $Response->Redirect is called in Script_OnStart then the script
is no longer processed.
1.23 2007-12-27
- Apache2::ASP::Config now only adds PAGE_CACHE and $Config->handler_root to @INC
if they have not already been added before.
- Apache2::ASP::Response no longer flushes headers after Response.Include().
1.22 2007-12-18
- Fixed a bug that caused changes in the $Session object made
from within $Response->Include() and $Response->TrapInclude() to not persist.
- Removed warnings like this:
Use of uninitialized value in substitution (s///) at /usr/lib/perl5/site_perl/5.8.5/Apache2/ASP/Server.pm line 40.
- $Session->save() does not (wastefully) persist $s->{asp} any longer.
- Apache2::ASP::Request was handling cookies wrong. This behavior has been improved.
Still does not handle expiration yet (this can be done with $Response->AddHeader(...) ).
- Improved (fixed) problems associated with running multiple Apache2::ASP-powered websites
under the same Apache server under different VirtualHosts. Now expects PerlOptions +Parent
and PerlSetEnv APACHE2_ASP_APPLICATION_ROOT /path/to/your/root inside of <VirtualHost> directives.
1.21 2007-12-04
- Bugfixes to Apache2::ASP::Request and Apache2::ASP::Response.
- *Recommended* upgrade to this version if you are running any previous version.
1.20 2007-10-22
- Updated Makefile.PL to compile even if Apache::Test is not installed.
- Added requirement Apache2::Directive.
1.19 2007-10-20
- Minor updates in preparation for the release of Apache2::ASP::WebApp.
1.18 2007-10-20
- Added before_run() and after_run() methods to Apache2::ASP::Handler.
These methods can be overridden by subclasses and executed before and
after the "run()" method is called.
1.17 2007-10-20
- Updates for Apache2::ASP::Test::UserAgent.
( run in 0.899 second using v1.01-cache-2.11-cpan-39bf76dae61 )