Apache2-ASP
view release on metacpan or search on metacpan
lib/Apache2/ASP/Response.pm view on Meta::CPAN
$subcontext->DESTROY;
if( $res > 200 )
{
$s->Status( $res );
}# end if()
undef( $subcontext );
}# end Include()
#==============================================================================
sub TrapInclude
{
my ($s, $path, $args) = @_;
return if $s->context->{did_end};
use Apache2::ASP::HTTPContext::SubContext;
my $ctx = $s->context;
my $subcontext = Apache2::ASP::HTTPContext::SubContext->new( parent => $ctx );
my $root = $s->context->config->web->www_root;
$path =~ s@^\Q$root\E@@;
local $ENV{REQUEST_URI} = $path;
local $ENV{SCRIPT_FILENAME} = $ctx->server->MapPath( $path );
local $ENV{SCRIPT_NAME} = $path;
use Apache2::ASP::Mock::RequestRec;
my $clone_r = Apache2::ASP::Mock::RequestRec->new( );
$clone_r->uri( $path );
$subcontext->setup_request( $clone_r, $ctx->cgi );
my $res = $subcontext->execute( $args );
my $result = $subcontext->{r}->{buffer};
$subcontext->DESTROY;
undef( $subcontext );
return $result;
}# end TrapInclude()
#==============================================================================
sub Cookies
{
$_[0]->context->headers_out->{'set-cookie'};
}# end Cookies()
#==============================================================================
sub AddCookie
{
my $s = shift;
my ($name, $val, $path, $expires) = @_;
die "Usage: Response.AddCookie(name, value [, path [, expires ]])"
unless defined($name) && defined($val);
$path ||= '/';
$expires ||= time() + ( 60 * 30 );
my $expire_date ||= time2str( $expires );
my $cookie = join '=', map { $s->context->cgi->escape( $_ ) } ( $name => $val );
$s->context->headers_out->push_header( 'set-cookie' => "$cookie; path=$path; expires=$expire_date" );
}# end AddCookie()
#==============================================================================
sub AddHeader
{
my ($s, $name, $val) = @_;
return unless defined($name) && defined($val);
return $s->context->headers_out->{ $name } = $val;
}# end AddHeader()
#==============================================================================
sub DeleteHeader
{
my ($s, $name) = @_;
$s->context->headers_out->remove_header( $name );
}# end DeleteHeader()
#==============================================================================
sub Headers
{
$_[0]->context->headers_out;
}# end Headers()
#==============================================================================
sub Clear
{
$_[0]->{_output_buffer} = [ ];
}# end Clear()
#==============================================================================
sub IsClientConnected
{
return ! shift->context->get_prop('did_end');
}# end IsClientConnected()
#==============================================================================
sub DESTROY
{
my $s = shift;
undef(%$s);
}# end DESTROY()
1;# return true:
=head1 NAME
Apache2::ASP::Response - Outgoing response object.
=head1 SYNOPSIS
( run in 1.509 second using v1.01-cache-2.11-cpan-39bf76dae61 )