Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HTTP::Engine::InterfacUseroContributed PerlHTTP::Engine::Interface::ModPerl(3)

NAME
       HTTP::Engine::Interface::ModPerl	- mod_perl Adaptor for HTTP::Engine

SYNOPSIS
	 # App.pm
	 package App;
	 use Mouse; # or use Moose or use Any::Moose
	 use Data::Dumper;
	 use HTTP::Engine;

	 sub setup_engine {
	     my($self, $conf) =	@_;
	     $conf->{request_handler} =	sub { $self->handle_request(@_)	};
	     HTTP::Engine->new(
		 interface => $conf,
	     );
	 }

	 sub handle_request {
	     my($self, $req) = @_;
	     HTTP::Engine::Response->new(
		 status	=> 200,
		 body => Dumper($req),
	     );
	 }

	 # app.pl
	 use strict;
	 use warnings;
	 use App;
	 App->new->setup_engine({
	     module => 'ServerSimple',
	     args => { port => 9999 },
	 })->run;

	 # App/ModPerl.pm
	 package App::ModPerl;
	 use Mouse; # or use Moose or use Any::Moose
	 extends 'HTTP::Engine::Interface::ModPerl';
	 use App;

	 sub create_engine {
	     my($class,	$r, $context_key) = @_;

	     App->new->setup_engine({
		 module	=> 'ModPerl',
	     });
	 }

	 # in httpd.conf
	 PerlSwitches -Mlib=/foo/bar/app/lib
	 <VirtualHost 127.0.0.1:8080>
	     <Location />
		 SetHandler modperl
		 PerlOptions +SetupEnv
		 PerlResponseHandler App::ModPerl
	     </Location>
	 </VirtualHost>

       When you	move the same application by two or more server	name.  Because
       the reason is because it	makes instance every combination of
       SERVER_NAME, SERVER_PORT	and DOCUMENT_ROOT.

	 # in httpd.conf
	 PerlSwitches -Mlib=/foo/bar/app/lib
	 <VirtualHost 127.0.0.1:8080>
	     ServerName	www.example.com
	     ServerAlias host1.example.com
	     ServerAlias host2.example.com
	     ServerAlias host3.example.com
	     <Location />
		 SetHandler modperl
		 PerlOptions +SetupEnv
		 PerlSetEnv HTTP_ENGINE_CONTEXT_KEY YOUR_CHOICE_APPLICATION_UNIQUE_KEY
		 PerlResponseHandler App::ModPerl
	     </Location>
	 </VirtualHost>

CONFIG
       required	configuration in httpd.conf

	   SetHandler modperl
	   PerlOptions +SetupEnv

       or

	   SetHandler perl-script

AUTHORS
       Daisuke Maki

       Tokuhiro	Matsuno

       Kazuhiro	Osawa

SEE ALSO
       HTTP::Engine, Apache2

perl v5.32.1			  2011-10-0HTTP::Engine::Interface::ModPerl(3)

NAME | SYNOPSIS | CONFIG | AUTHORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HTTP::Engine::Interface::ModPerl&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help