=encoding utf8

=head1 NAME

Any::Daemon::HTTP::UserDirs - describe user directories

=head1 INHERITANCE

 Any::Daemon::HTTP::UserDirs
   is a Any::Daemon::HTTP::Directory

=head1 SYNOPSIS

 # implicit creation of ::Directory object
 my $vh = Any::Daemon::HTTP::VirtualHost
   ->new(user_dirs => {location => ...})

 # explicit use
 my $ud = Any::Daemon::HTTP::Directory::UserDirs
   ->new(location => sub {...});
 my $vh = Any::Daemon::HTTP::VirtualHost->new(user_dirs => $ud);

=head1 DESCRIPTION

Each L<Any::Daemon::HTTP::VirtualHost|Any::Daemon::HTTP::VirtualHost> may define user directories.

See L<documentation in the base class|Any::Daemon::HTTP::Directory/"DESCRIPTION">.
 
=head1 METHODS

See L<documentation in the base class|Any::Daemon::HTTP::Directory/"METHODS">.
 
=head2 Constructors

See L<documentation in the base class|Any::Daemon::HTTP::Directory/"Constructors">.
 
=over 4

=item Any::Daemon::HTTP::UserDirs-E<gt>B<new>(OPTIONS|HASH-of-OPTIONS)

The user-dir rewrite routine has by default Apache-like behavior.

 -Option        --Defined in                  --Default
  allow           Any::Daemon::HTTP::Directory  <undef>
  allow_users                                   undef
  deny            Any::Daemon::HTTP::Directory  <undef>
  deny_users                                    []
  directory_list  Any::Daemon::HTTP::Directory  <false>
  index_file      Any::Daemon::HTTP::Directory  ['index.html', 'index.htm']
  location        Any::Daemon::HTTP::Directory  CODE
  path            Any::Daemon::HTTP::Directory  <ignored>
  user_subdirs                                  'public_html'

=over 2

=item allow => CIDR|HOSTNAME|DOMAIN|CODE|ARRAY

=item allow_users => ARRAY

Lists the user homes which are available.  Cannot be used together with
C<deny_users>.  By default, all user homes are permitted, even those
of system usernames like C<ftp> and C<cups>.
Only used with the default user-dir rewrite rule.

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

=item deny_users => ARRAY

Only used with the default user-dir rewrite rule.

=item directory_list => BOOLEAN

=item index_file => STRING|ARRAY

=item location => DIRECTORY|CODE

=item path => PATH

=item user_subdirs => PATH

Only used with the default user-dir rewrite rule.

=back

=back

=head2 Attributes

See L<documentation in the base class|Any::Daemon::HTTP::Directory/"Attributes">.
 
=over 4

=item $obj-E<gt>B<location>()

See L<Any::Daemon::HTTP::Directory/"Attributes">

=item $obj-E<gt>B<path>()

See L<Any::Daemon::HTTP::Directory/"Attributes">

=back

=head2 Permissions

See L<documentation in the base class|Any::Daemon::HTTP::Directory/"Permissions">.
 
=over 4

=item $obj-E<gt>B<allow>(CLIENT, SESSION, REQUEST, URI)

See L<Any::Daemon::HTTP::Directory/"Permissions">

=item $obj-E<gt>B<filename>(PATH)

See L<Any::Daemon::HTTP::Directory/"Permissions">

=item $obj-E<gt>B<fromDisk>(SESSION, REQUEST, URI)

See L<Any::Daemon::HTTP::Directory/"Permissions">

=item $obj-E<gt>B<list>(DIRECTORY, OPTIONS)

See L<Any::Daemon::HTTP::Directory/"Permissions">

=back

=head1 DETAILS

See L<documentation in the base class|Any::Daemon::HTTP::Directory/"DETAILS">.
 
=head1 SEE ALSO

This module is part of Any-Daemon-HTTP distribution version 0.21,
built on October 15, 2013. Website: F<http://perl.overmeer.net/any-daemon/>

=head1 LICENSE

Copyrights 2013 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 F<http://www.perl.com/perl/misc/Artistic.html>

