Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cgi::application::server(3pm) [debian man page]

CGI::Application::Server(3pm)				User Contributed Perl Documentation			     CGI::Application::Server(3pm)

NAME
CGI::Application::Server - A simple HTTP server for developing with CGI::Application SYNOPSIS
use CGI::Application::Server; use MyCGIApp; use MyCGIApp::Admin; use MyCGI::App::Account::Dispatch; use MyCGIApp::DefaultApp; my $server = CGI::Application::Server->new(); my $object = MyOtherCGIApp->new(PARAMS => { foo => 1, bar => 2 }); $server->document_root('./htdocs'); $server->entry_points({ '/' => 'MyCGIApp::DefaultApp', '/index.cgi' => 'MyCGIApp', '/admin' => 'MyCGIApp::Admin', '/account' => 'MyCGIApp::Account::Dispatch', '/users' => $object, '/static' => '/usr/local/htdocs', }); $server->run(); DESCRIPTION
This is a simple HTTP server for for use during development with CGI::Application. At this moment, it serves our needs in a very basic way. The plan is to release early and release often, and add features when we need them. That said, we welcome any and all patches, tests and feature requests (the ones with which are accompanied by failing tests will get priority). METHODS
new ($port) This acts just like "new" for HTTP::Server::Simple, except it will initialize instance slots that we use. handle_request This will check the request uri and dispatch appropriately, either to an entry point, or serve a static file (html, jpeg, gif, etc). entry_points (?$entry_points) This accepts a HASH reference in $entry_points, which maps server entry points (uri) to CGI::Application or CGI::Application::Dispatch class names or objects or to directories from which static content will be served by HTTP::Server::Simple::Static. See the SYNOPSIS above for examples. is_valid_entry_point ($uri) This attempts to match the $uri to an entry point. document_root (?$document_root) This is the server's document root where all static files will be served from. CAVEATS
This is a subclass of HTTP::Server::Simple and all of its caveats apply here as well. BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT. CODE COVERAGE
I use Devel::Cover to test the code coverage of my tests, below is the Devel::Cover report on this module's test suite. ---------------------------- ------ ------ ------ ------ ------ ------ ------ File stmt bran cond sub pod time total ---------------------------- ------ ------ ------ ------ ------ ------ ------ ...CGI/Application/Server.pm 94.4 80.0 53.3 100.0 100.0 100.0 88.3 Total 94.4 80.0 53.3 100.0 100.0 100.0 88.3 ---------------------------- ------ ------ ------ ------ ------ ------ ------ ACKNOWLEDGEMENTS
The HTTP response handling was shamelessly stolen from HTTP::Request::AsCGI by chansen AUTHOR
Stevan Little <stevan@iinteractive.com> Rob Kinyon <rob.kinyon@iinteractive.com> Ricardo SIGNES <rjbs@cpan.org> COPYRIGHT AND LICENSE
Copyright 2006 by Infinity Interactive, Inc. <http://www.iinteractive.com> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2010-01-27 CGI::Application::Server(3pm)

Check Out this Related Man Page

HTTP::Server::Simple::Authen(3pm)			User Contributed Perl Documentation			 HTTP::Server::Simple::Authen(3pm)

NAME
HTTP::Server::Simple::Authen - Authentication plugin for HTTP::Server::Simple SYNOPSIS
package MyServer; use base qw( HTTP::Server::Simple::Authen HTTP::Server::Simple::CGI); use Authen::Simple::Passwd; sub authen_handler { Authen::Simple::Passwd->new(passwd => '/etc/passwd'); } sub handle_request { my($self, $cgi) = @_; my $user = $self->authenticate or return; ... } MyServer->new->run(); DESCRIPTION
HTTP::Server::Simple::Authen is an HTTP::Server::Simple plugin to allow HTTP authentication. Authentication scheme is pluggable and you can use whatever Authentication protocol that Authen::Simple supports. You can use "authenticate" method whatever you want to authenticate the request. The method returns $username taken from the request if the authentication is successful, and "undef" otherwise. The code in "SYNOPSIS" requires authentication for all the requests and behaves just the same as Apache's "Require valid-user". The following code will explain more about conditioning. sub handle_request { my($self, $cgi) = @_; if ($cgi->path_info =~ m!/foo/!) { my $user = $self->authenticate; return unless defined($user) && length($user) == 8; } ... } This means all the requests to URL "/foo/" require to be authenticated, and usernames with 8 chars long are authorized. METHODS
Your subclass has to override following methods to implement HTTP authentication. authen_handler Should return a valid Authen::Simple instance to authenticate HTTP request (Required). authen_realm Returns a string for Authentication realm to be shown in the browser's dialog box. Defaults to 'Authorized area'. AUTHOR
Tatsuhiko Miyagawa <miyagawa@bulknews.net> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
HTTP::Server::Simple, Authen::Simple perl v5.12.3 2006-01-15 HTTP::Server::Simple::Authen(3pm)
Man Page