shell bypass 403
package Plack::Middleware::XFramework;
use strict;
use warnings;
use parent qw/Plack::Middleware/;
use Plack::Util;
use Plack::Util::Accessor qw( framework );
sub call {
my $self = shift;
my $res = $self->app->( @_ );
$self->response_cb($res, sub {
my $res = shift;
if ($self->framework) {
Plack::Util::header_set $res->[1], 'X-Framework' => $self->framework;
}
});
}
1;
__END__
=head1 NAME
Plack::Middleware::XFramework - Sample middleware to add X-Framework
=head1 SYNOPSIS
enable "Plack::Middleware::XFramework", framework => "Catalyst";
=head1 DESCRIPTION
This middleware adds C<X-Framework> header to the HTTP response.
=head1 CONFIGURATION
=over 4
=item framework
Sets the string value of C<X-Framework> header. If not set, the header is not set to the response.
=back
=head1 SEE ALSO
L<Plack::Middleware>
=cut