------=_Part_7974_17139320.1208809822453
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I wrote a simple module that parses the HTTP response body and updates
certain text. I want the script to be able to parse and manipulate the HTTP
response headers as well. For example add secure and HttpOnly flags to
certain cookies, or add a redirection when a 500 error code is returned. The
code I have so far is:

================================================== ====================================
package TE::ST;
# $Header:$
use strict;
use warnings;

use Apache2::Filter ();
use Apache2::RequestRec ();
use APR::Table ();

use Apache2::Const -compile => qw(OK);

use constant BUFF_LEN => 1024;
no warnings qw(redefine);

sub handler {
my $f = shift;

while ($f->read(my $buffer, BUFF_LEN)) {
# Disable autocomplete
$buffer =~ s/login method="post"/login method="post"
autocomplete="off" /g;

$f->print($buffer);
}

return Apache2::Const::OK;
}
1;
================================================== ====================================

when using f->read it appears as though the HTTP headers are not including.
I know err_headers_out should have access to the headers, but is there a way
to force f->read to access the HTTP headers as well? I've seen the set and
add methods for err_headers_out, but can someone point me to a code example
of either editing the HTTP headers or rewriting the server response when
certain response codes are received?

Thanks.

------=_Part_7974_17139320.1208809822453
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I wrote a simple module that parses the HTTP response body and updates certain text. I want the script to be able to parse and manipulate the HTTP response headers as well. For example add secure and HttpOnly flags to certain cookies, or add a redirection when a 500 error code is returned. The code I have so far is:


================================================== ====================================
package TE::ST;
# $Header:$
use strict;
use warnings;

use Apache2::Filter ();
use Apache2::RequestRec ();

use APR::Table ();

use Apache2::Const -compile => qw(OK);

use constant BUFF_LEN => 1024;
no warnings qw(redefine);

sub handler {
    my $f = shift;
   
    while ($f->read(my $buffer, BUFF_LEN)) {

        # Disable autocomplete
        $buffer =~ s/login method="post"/login method="post" autocomplete="off" /g;

        $f->print($buffer);
    }

    return Apache2::Const::OK;

}
1;
================================================== ====================================

when using f->read it appears as though the HTTP headers are not including. I know err_headers_out should have access to the headers, but is there a way to force f->read to access the HTTP headers as well? I've seen the set and add methods for err_headers_out, but can someone point me to a code example of either editing the HTTP headers or rewriting the server response when certain response codes are received?


Thanks.


------=_Part_7974_17139320.1208809822453--