Apache-ASP

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

        $Session, and then unlocking, like:

          $Session->Lock();
          $Session->{count}++;
          $Session->{count}++;
          $Session->{count}++;
          $Session->UnLock();

        This sequence causes $Session to be locked and unlocked only 1 time,
        instead of the 6 times that it would be locked otherwise, 2 for each
        increment with one to read and one to write.

        Because of flushing issues with SDBM_File and DB_File databases, each
        lock actually ties fresh to the database, so the performance savings
        here can be considerable.

        Note that if you have SessionSerialize set, $Session is already locked
        for each script invocation automatically, as if you had called
        $Session->Lock() in Script_OnStart. Thus you do not need to worry about
        $Session locking for performance. Please read the section on
        SessionSerialize for more info.

    $Session->UnLock()
        API Extension. Unlocks the $Session explicitly. If you do not call this,
        $Session will be unlocked automatically at the end of the script.

  $Response Object
    This object manages the output from the ASP Application and the client web
    browser. It does not store state information like the $Session object but
    does have a wide array of methods to call.

    $Response->{BinaryRef}
        API extension. This is a perl reference to the buffered output of the
        $Response object, and can be used in the Script_OnFlush global.asa event
        to modify the buffered output at runtime to apply global changes to
        scripts output without having to modify all the scripts. These changes
        take place before content is flushed to the client web browser.

         sub Script_OnFlush {
           my $ref = $Response->{BinaryRef};
           $$ref =~ s/\s+/ /sg; # to strip extra white space
         }

        Check out the ./site/eg/global.asa for an example of its use.

    $Response->{Buffer}
        Default 1, when TRUE sends output from script to client only at the end
        of processing the script. When 0, response is not buffered, and client
        is sent output as output is generated by the script.

    $Response->{CacheControl}
        Default "private", when set to public allows proxy servers to cache the
        content. This setting controls the value set in the HTTP header
        Cache-Control

    $Response->{Charset}
        This member when set appends itself to the value of the Content-Type
        HTTP header. If $Response->{Charset} = 'ISO-LATIN-1' is set, the
        corresponding header would look like:

          Content-Type: text/html; charset=ISO-LATIN-1

    $Response->{Clean} = 0-9;
        API extension. Set the Clean level, default 0, on a per script basis.
        Clean of 1-9 compresses text/html output. Please see the Clean config
        option for more information. This setting may also be useful even if
        using compression to obfuscate HTML.

    $Response->{ContentType} = "text/html"
        Sets the MIME type for the current response being sent to the client.
        Sent as an HTTP header.

    $Response->{Debug} = 1|0
        API extension. Default set to value of Debug config. May be used to
        temporarily activate or inactivate $Response->Debug() behavior.
        Something like:

         {
           local $Response->{Debug} = 1;
           $Response->Debug($values);
         }

        maybe be used to always log something. The Debug() method can be better
        than AppendToLog() because it will log data in data structures one level
        deep, whereas AppendToLog prints just raw string/scalar values.

    $Response->{Expires} = $time
        Sends a response header to the client indicating the $time in SECONDS in
        which the document should expire. A time of 0 means immediate
        expiration. The header generated is a standard HTTP date like: "Wed, 09
        Feb 1994 22:23:32 GMT".

    $Response->{ExpiresAbsolute} = $date
        Sends a response header to the client with $date being an absolute time
        to expire. Formats accepted are all those accepted by
        HTTP::Date::str2time(), e.g.

         "Wed, 09 Feb 1994 22:23:32 GMT"     -- HTTP format
         "Tuesday, 08-Feb-94 14:15:29 GMT"   -- old rfc850 HTTP format

         "08-Feb-94"       -- old rfc850 HTTP format    
         "09 Feb 1994"     -- proposed new HTTP format  

         "Feb  3  1994"    -- Unix 'ls -l' format
         "Feb  3 17:03"    -- Unix 'ls -l' format

    $Response->{FormFill} = 0|1
        If true, HTML forms generated by the script output will be auto filled
        with data from $Request->Form. This feature requires HTML::FillInForm to
        be installed. Please see the FormFill CONFIG for more information.

        This setting overrides the FormFill config at runtime for the script
        execution only.

    $Response->{IsClientConnected}
        1 if web client is connected, 0 if not. This value starts set to 1, and
        will be updated whenever a $Response->Flush() is called. If BufferingOn
        is set, by default $Response->Flush() will only be called at the end of
        the HTML output.

        As of version 2.23 this value is updated correctly before global.asa

README  view on Meta::CPAN


         + Incremented version number to actually match SVN branch tag

    $VERSION = 2.61; $DATE="05/24/2008"
         - updated for more recent mod_perl 2 environment to trigger correct loading of modules

         + loads modules in a backwards compatible way for older versions of mod_perl 1.99_07 to 1.99_09

         + license changes from GPL to Perl Artistic License

    $VERSION = 2.59; $DATE="05/23/2005"
         + added "use bytes" to Response object to calculate Content-Length
           correctly for UTF8 data, which should require therefore at least
           perl version 5.6 installed

         + updated to work with latest mod_perl 2.0 module naming convention,
           thanks to Randy Kobes for patch

         + examples now exclude usage of Apache::Filter & Apache::SSI under mod_perl 2.0

    $VERSION = 2.57; $DATE="01/29/2004"
         - $Server->Transfer will update $0 correctly

         - return 0 for mod_perl handler to work with latest mod_perl 2 release
           when we were returning 200 ( HTTP_OK ) before

         - fixed bug in $Server->URL when called like $Server->URL($url)
           without parameters.  Its not clear which perl versions this bug 
           affected.

    $VERSION = 2.55; $DATE="08/09/2003"
         - Bug fixes for running on standalone CGI mode on Win32 submitted
           by Francesco Pasqualini

         + Added Apache::ASP::Request::BINMODE for binmode() being
           called on STDIN after STDIN is tied to $Request object

         + New RequestBinaryRead configuration created, may be turned off
           to prevent $Request object from reading POST data

         ++ mod_perl 2 optmizations, there was a large code impact on this,
           as much code was restructured to reduce the differences between
           mod_perl 1 and mod_perl 2, most importantly, Apache::compat is
           no longer used

         + preloaded CGI for file uploads in the mod_perl environment

         - When XSLT config is set, $Response->Redirect() should work now
           Thanks to Marcus Zoller for pointing problem out

         + Added CookieDomain setting, documented, and added test to cover 
           it in t/cookies.t . Setting suggested by Uwe Riehm, who nicely 
           submitted some code for this.

    $VERSION = 2.53; $DATE="04/10/2003"
         + XMLSubs tags with "-" in them will have "-" replaced with "_" or underscore, so a
           tag like <my:render-table /> will be translated to &my::render_table() ... tags with
           - in them are common in extended XML syntaxes, but perl subs cannot have - in them only.

         + Clean setting now works on output when $Response->{ContentType} begins with text/html;
           like "text/html; charset=iso-8859-2" ... before Clean would only work on output marked
           with ContentType text/html.  Thanks to Szymon Juraszczyk for recommending fix.

         --Fixed a bug which would cause Session_OnEnd to be called twice on sessions in a certain case,
           particularly when an old expired session gets reused by and web browser... this bug was
           a result of a incomplete session cleanup method in this case.  Thanks to Oleg Kobyakovskiy 
           for reporting this bug.  Added test in t/session_events.t to cover this problem going forward.

         - Compile errors from Apache::ASP->Loader() were not being reported.  They will
           be reported again now.  Thanks to Thanos Chatziathanassiou for discovering and
           documenting this bug.  Added test in t/load.t to cover this problem going forward.

         + use of chr(hex($1)) to decode URI encoded parameters instead of pack("c",hex($1))
           faster & more correct, thanks to Nikolay Melekhin for pointing out this need.

         (d) Added old perlmonth.com articles to ./site/articles in distribution
           and linked to them from the docs RESOURCES section

         (d) Updated documention for the $Application->SessionCount API

         + Scripts with named subroutines, which is warned against in the style guide,
           will not be cached to help prevent my closure problems that often
           hurt new developers working in mod_perl environments.  The downside
           is that these script will have a performance penalty having to be
           recompiled each invocation, but this will kill many closure caching 
           bugs that are hard to detect.

         - $Request->FileUpload('upload_file', 'BrowserFile') would return
           a glob before that would be the file name in scalar form.  However
           this would be interpreted as a reference incorrectly.  The fix
           is to make sure this is always a scalar by stringifying 
           this data internally.  Thanks to Richard Curtis for pointing
           out this bug.

    $VERSION = 2.51; $DATE="02/10/2003"
         + added t/session_query_parse.t test to cover use of SessionQueryParse
           and $Server->URL APIs

         - Fixed duplicate "&" bug associated with using $Server->URL 
           and SessionQueryParse together

         + Patch to allow $Server->URL() to be called multiple times on the same URL
           as in $Server->URL($Server->URL($url, \%params), \%more_params)

         (d) Added new testimonials & sites & created a separate testimonials page.

         - SessionQueryParse will now add to &amp; to the query strings
           embedded in the HTML, instead of & for proper HTML generation.
           Thanks to Peter Galbavy for pointing out and Thanos Chatziathanassiou
           for suggesting the fix.

         - $Response->{ContentType} set to text/html for developer error reporting,
           in case this was set to something else before the error occured.
           Thanks to Philip Mak for reporting.

         - Couple of minor bug fixes under PerlWarn use, thanks Peter Galbavy
           for reporting.

         + Added automatic load of "use Apache2" for compat with mod_perl2 
           request objects when Apache::ASP is loaded via "PerlModule Apache::ASP"
           Thanks to Richard Curtis for reporting bug & subsequent testing.



( run in 0.796 second using v1.01-cache-2.11-cpan-39bf76dae61 )