Apache2-ASP
view release on metacpan or search on metacpan
Revision history for Perl extension Apache2::ASP.
2.46 2011-03-25
- !!DEPRECATED!! in favor of ASP4.
- Please don't use Apache2::ASP for any new development.
- Use ASP4 instead; it is much better, faster and maintained.
- Upgrading from Apache2::ASP to ASP4 is quite easy - just convert your
apache2-asp-config.xml to asp4-config.json, update/remove your GlobalASA.pm
and update your httpd.conf.
2.45 2009-11-20
- Fixed* a bug that caused deeeeeeeeply nested Master/Child page scenarios to cause
the MasterPage's ASP objects ($Response, $Request, etc) to not get initialized.
This fixes the dreaded "Cannot call 'Write' on an undefined value - line 1" error.
* Involves deleting your page cache before the udpate will take full effect!
2.44 2009-11-17
- Got rid of annoying "Software caused connection abort" errors.
2.43 2009-11-16
- Requests to handlers that don't exist will now result in a 404 error, not a 500 error.
2.42 2009-11-11
- You can now test multiple websites at the same time (eg: Public and Admin websites)
from within the same test script. Example given in POD for Apache2::ASP::API
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.
- Under Apache2::ASP::Test::Base and Apache2::ASP::API, $Server->RegisterCleanup now
gets called at the end of each request - not when the pool object goes out
of scope (which caused some unwanted behavior).
2.17 2009-01-28
- More tweaking. Please upgrade to this version.
2.16 2009-01-28
- Apache2::ASP::Mock::RequestRec sometimes confess()ed if Response->Include was called.
2.15 2009-01-28
- Made some minor tweaks to the way uploads are handled internally. No public changes.
2.14 2009-01-25
- <asp:Content/> tags inside of pages that use MasterPages were not being passed
TrapInclude or Include arguments (i.e. $Response->Include("/page.asp", { arg1 => "foo" }) ).
2.13 2009-01-25
- Apache2::ASP::MediaManager did not provide any content-type header for
file types not listed in MIME::Types (eg: *.ogv). Now "application/octet-stream"
is returned when MIME::Types does not return anything.
2.12 2009-01-20
- The "Cookies" HTTP header was not properly handled in the Test UserAgent.
- Incoming HTTP headers were comingled with outgoing HTTP headers in HTTPContext.
2.11 2009-01-10
- Several fixes to cookie behavior problems.
- Removed <module>Class::DBI::Lite</module> from apache2-asp-config.xml.
2.10 2009-01-05
- The Set-Cookie header for session state no longer includes the domain parameter.
2.09 2008-12-12
- Apache2::ASP::API->get("/") or get("/folder-name/") works as expected (without
forcing you to include "/index.asp" at the end.
- Added 05.00-folder-uri.t to make sure that "/folder-name/" URI's are supported
via the programmatic API.
- After testing, we remove /tmp/asp_*
2.08 2008-12-10
- Updated the POD for Apache2::ASP::API.
2.07 2008-12-10
- $ENV{DOCUMENT_ROOT} is persisted between requests when using Apache2::ASP::Test::UserAgent.
- Added Apache2::ASP::API
2.06 2008-12-03
- Removed a failing test.
2.05 2008-12-03
- asphelper adds /etc/properties.yaml and /etc/test_fixtures.yaml, as well as
an example "contact form" page, handler and unit test.
2.04 2008-12-02
- Updated asphelper script. It was writing a GlobalASA.pm with a syntax error.
- Added more tests.
2.03 2008-12-01
- Updated ASPPage to handle parsing MasterPages that include code similar to the following:
<asp:ContentPlaceHolder id="meta_description"><meta name="description" content="" /></asp:ContentPlaceHolder>
<asp:ContentPlaceHolder id="meta_keywords"><meta name="keywords" content="" /></asp:ContentPlaceHolder>
2.02 2008-12-01
- Sometimes @INC would not contain all of the directories specified under <libs>
in the config. This bug should now be fixed.
2.01 2008-11-30
- The codebase is solid and has been running several relatively high-traffic
websites for several months. Time for a production release of the 2.x code.
2.00_26 2008-11-20
- 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.
- Added tests for "wizard" functionality (multiple-step forms, anyways).
( run in 2.895 seconds using v1.01-cache-2.11-cpan-b16cb0d3907 )