NAME

Any::Daemon::HTTP::Source - source of information

INHERITANCE

Any::Daemon::HTTP::Source is extended by
  Any::Daemon::HTTP::Directory
  Any::Daemon::HTTP::Proxy

SYNOPSIS

DESCRIPTION

Each Any::Daemon::HTTP::VirtualHost will define where the files are located. Parts of the URI path can map on different (virtual) resources, with different access rights.

METHODS

Constructors

Any::Daemon::HTTP::Source->new(OPTIONS|HASH-of-OPTIONS)
-Option--Default
 allow   <undef>
 deny    <undef>
 name    path
 path    '/'
allow => CIDR|HOSTNAME|DOMAIN|CODE|ARRAY

Allow all requests which pass any of these parameters, and none of the deny parameters. See "Allow access". Be warned that the access rights are not inherited from directory configurations encapsulating this one.

deny => CIDR|HOSTNAME|DOMAIN|CODE|ARRAY

See allow and "Allow access"

name => STRING
path => PATH

If the directory PATH (relative to the document root location) is not trailed by a '/', it will be made so.

Attributes

$obj->name()
$obj->path()

Permissions

$obj->allow(SESSION, REQUEST, URI)

BE WARNED that the URI is the rewrite of the REQUEST uri, and therefore you should use that URI. The SESSION represents a user.

See "Allow access".

$obj->collect(VHOST, SESSION, REQUEST, URI)

Try to produce a response (HTTP::Response) for something inside this directory structure. undef is returned if nothing useful is found.

Actions

DETAILS

Resource restrictions

Allow access

The allow() method handles access rights. When a trueth value is produced, then access is permitted.

The base class implements access rules via the allow or deny option of new(). These parameters are exclusive (which is slightly different from Apache); you can either allow or deny, but not both at the same time. Be warned that the access rights are also not inherited from directory configurations encapsulating this one.

The parameters to allow or deny are an ARRAY with any combination of

IPv4 and IPv6 address ranges in CIDR notation
hostname
domain name (leading dot)
your own CODE reference, which will be called with the IP address,
the hostname, the session, and the rewritten URI.

SEE ALSO

This module is part of Any-Daemon-HTTP distribution version 0.24, built on January 05, 2014. Website: http://perl.overmeer.net/any-daemon/

LICENSE

Copyrights 2013-2014 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html