The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Plack::App::Redirect - Plack application for redirect.

SYNOPSIS

 use Plack::App::Redirect;

 my $obj = Plack::App::Redirect->new(%parameters);
 my $psgi_ar = $obj->call($env);
 my $app = $obj->to_app;

METHODS

new

 my $obj = Plack::App::Redirect->new(%parameters);

Constructor.

Returns instance of object.

  • redirect_url

    Redirect URL.

    If this URL isn't present, application returns error.

call

 my $psgi_ar = $obj->call($env);

Implementation of redirect application.

Returns reference to array (PSGI structure).

to_app

 my $app = $obj->to_app;

Creates Plack application.

Returns Plack::Component object.

EXAMPLE1

 use strict;
 use warnings;

 use Plack::App::Redirect;
 use Plack::Runner;

 # Run application.
 my $app = Plack::App::Redirect->new(
         'redirect_url' => 'https://skim.cz',
 )->to_app;
 Plack::Runner->new->run($app);

 # Output (HEAD on redirected site):
 # HTTP::Server::PSGI: Accepting connections at http://0:5000/

 # HEAD http://localhost:5000/
 # 200 OK
 # Connection: close
 # Date: Wed, 16 Jun 2021 15:41:44 GMT
 # Server: nginx/1.17.6
 # Content-Length: 3543
 # Content-Type: text/html; charset=utf-8
 # Last-Modified: Tue, 15 Jun 2021 22:16:46 GMT
 # Client-Date: Wed, 16 Jun 2021 15:41:44 GMT
 # Client-Peer: 89.185.227.162:443
 # Client-Response-Num: 1
 # Client-SSL-Cert-Issuer: /C=US/O=Let's Encrypt/CN=R3
 # Client-SSL-Cert-Subject: /CN=skim.cz
 # Client-SSL-Cipher: TLS_AES_256_GCM_SHA384
 # Client-SSL-Socket-Class: IO::Socket::SSL
 # Strict-Transport-Security: max-age=31536000

EXAMPLE2

 use strict;
 use warnings;

 use Plack::App::Redirect;
 use Plack::Runner;

 # Run application.
 my $app = Plack::App::Redirect->new->to_app;
 Plack::Runner->new->run($app);

 # Output (HEAD on error from app):
 # HTTP::Server::PSGI: Accepting connections at http://0:5000/

 # HEAD http://localhost:5000/
 # 404 Not Found
 # Date: Wed, 16 Jun 2021 15:40:40 GMT
 # Server: HTTP::Server::PSGI
 # Content-Length: 1
 # Content-Type: text/html; charset=utf-8
 # Client-Date: Wed, 16 Jun 2021 15:40:40 GMT
 # Client-Peer: 127.0.0.1:5000
 # Client-Response-Num: 1

DEPENDENCIES

Plack::Response, Plack::Request, Plack::Util::Accessor.

REPOSITORY

https://github.com/michal-josef-spacek/Plack-App-Redirect

AUTHOR

Michal Josef Špaček mailto:skim@cpan.org

http://skim.cz

LICENSE AND COPYRIGHT

© 2021-2022 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.02